
; ModuleID = 'spir_wrapper.bc'
source_filename = "generate_spir_wrapper.py"
target datalayout = "e-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024"
target triple = "spir64-unknown-unknown"

declare float @_Z8_cl_acosf(float) local_unnamed_addr #0

define spir_func float @_Z4acosf(float %a) local_unnamed_addr #0 {
  %call = tail call float @_Z8_cl_acosf(float %a)
  ret float %call
}


declare float @_Z9_cl_acoshf(float) local_unnamed_addr #0

define spir_func float @_Z5acoshf(float %a) local_unnamed_addr #0 {
  %call = tail call float @_Z9_cl_acoshf(float %a)
  ret float %call
}


declare float @_Z10_cl_acospif(float) local_unnamed_addr #0

define spir_func float @_Z6acospif(float %a) local_unnamed_addr #0 {
  %call = tail call float @_Z10_cl_acospif(float %a)
  ret float %call
}


declare float @_Z8_cl_asinf(float) local_unnamed_addr #0

define spir_func float @_Z4asinf(float %a) local_unnamed_addr #0 {
  %call = tail call float @_Z8_cl_asinf(float %a)
  ret float %call
}


declare float @_Z9_cl_asinhf(float) local_unnamed_addr #0

define spir_func float @_Z5asinhf(float %a) local_unnamed_addr #0 {
  %call = tail call float @_Z9_cl_asinhf(float %a)
  ret float %call
}


declare float @_Z10_cl_asinpif(float) local_unnamed_addr #0

define spir_func float @_Z6asinpif(float %a) local_unnamed_addr #0 {
  %call = tail call float @_Z10_cl_asinpif(float %a)
  ret float %call
}


declare float @_Z8_cl_atanf(float) local_unnamed_addr #0

define spir_func float @_Z4atanf(float %a) local_unnamed_addr #0 {
  %call = tail call float @_Z8_cl_atanf(float %a)
  ret float %call
}


declare float @_Z9_cl_atanhf(float) local_unnamed_addr #0

define spir_func float @_Z5atanhf(float %a) local_unnamed_addr #0 {
  %call = tail call float @_Z9_cl_atanhf(float %a)
  ret float %call
}


declare float @_Z10_cl_atanpif(float) local_unnamed_addr #0

define spir_func float @_Z6atanpif(float %a) local_unnamed_addr #0 {
  %call = tail call float @_Z10_cl_atanpif(float %a)
  ret float %call
}


declare float @_Z8_cl_cbrtf(float) local_unnamed_addr #0

define spir_func float @_Z4cbrtf(float %a) local_unnamed_addr #0 {
  %call = tail call float @_Z8_cl_cbrtf(float %a)
  ret float %call
}


declare float @_Z8_cl_ceilf(float) local_unnamed_addr #0

define spir_func float @_Z4ceilf(float %a) local_unnamed_addr #0 {
  %call = tail call float @_Z8_cl_ceilf(float %a)
  ret float %call
}


declare float @_Z7_cl_cosf(float) local_unnamed_addr #0

define spir_func float @_Z3cosf(float %a) local_unnamed_addr #0 {
  %call = tail call float @_Z7_cl_cosf(float %a)
  ret float %call
}


declare float @_Z8_cl_coshf(float) local_unnamed_addr #0

define spir_func float @_Z4coshf(float %a) local_unnamed_addr #0 {
  %call = tail call float @_Z8_cl_coshf(float %a)
  ret float %call
}


declare float @_Z9_cl_cospif(float) local_unnamed_addr #0

define spir_func float @_Z5cospif(float %a) local_unnamed_addr #0 {
  %call = tail call float @_Z9_cl_cospif(float %a)
  ret float %call
}


declare float @_Z8_cl_erfcf(float) local_unnamed_addr #0

define spir_func float @_Z4erfcf(float %a) local_unnamed_addr #0 {
  %call = tail call float @_Z8_cl_erfcf(float %a)
  ret float %call
}


declare float @_Z7_cl_erff(float) local_unnamed_addr #0

define spir_func float @_Z3erff(float %a) local_unnamed_addr #0 {
  %call = tail call float @_Z7_cl_erff(float %a)
  ret float %call
}


declare float @_Z7_cl_expf(float) local_unnamed_addr #0

define spir_func float @_Z3expf(float %a) local_unnamed_addr #0 {
  %call = tail call float @_Z7_cl_expf(float %a)
  ret float %call
}


declare float @_Z8_cl_exp2f(float) local_unnamed_addr #0

define spir_func float @_Z4exp2f(float %a) local_unnamed_addr #0 {
  %call = tail call float @_Z8_cl_exp2f(float %a)
  ret float %call
}


declare float @_Z9_cl_exp10f(float) local_unnamed_addr #0

define spir_func float @_Z5exp10f(float %a) local_unnamed_addr #0 {
  %call = tail call float @_Z9_cl_exp10f(float %a)
  ret float %call
}


declare float @_Z9_cl_expm1f(float) local_unnamed_addr #0

define spir_func float @_Z5expm1f(float %a) local_unnamed_addr #0 {
  %call = tail call float @_Z9_cl_expm1f(float %a)
  ret float %call
}


declare float @_Z8_cl_fabsf(float) local_unnamed_addr #0

define spir_func float @_Z4fabsf(float %a) local_unnamed_addr #0 {
  %call = tail call float @_Z8_cl_fabsf(float %a)
  ret float %call
}


declare float @_Z9_cl_floorf(float) local_unnamed_addr #0

define spir_func float @_Z5floorf(float %a) local_unnamed_addr #0 {
  %call = tail call float @_Z9_cl_floorf(float %a)
  ret float %call
}


declare float @_Z10_cl_lgammaf(float) local_unnamed_addr #0

define spir_func float @_Z6lgammaf(float %a) local_unnamed_addr #0 {
  %call = tail call float @_Z10_cl_lgammaf(float %a)
  ret float %call
}


declare float @_Z7_cl_logf(float) local_unnamed_addr #0

define spir_func float @_Z3logf(float %a) local_unnamed_addr #0 {
  %call = tail call float @_Z7_cl_logf(float %a)
  ret float %call
}


declare float @_Z9_cl_log10f(float) local_unnamed_addr #0

define spir_func float @_Z5log10f(float %a) local_unnamed_addr #0 {
  %call = tail call float @_Z9_cl_log10f(float %a)
  ret float %call
}


declare float @_Z8_cl_log2f(float) local_unnamed_addr #0

define spir_func float @_Z4log2f(float %a) local_unnamed_addr #0 {
  %call = tail call float @_Z8_cl_log2f(float %a)
  ret float %call
}


declare float @_Z9_cl_log1pf(float) local_unnamed_addr #0

define spir_func float @_Z5log1pf(float %a) local_unnamed_addr #0 {
  %call = tail call float @_Z9_cl_log1pf(float %a)
  ret float %call
}


declare float @_Z8_cl_logbf(float) local_unnamed_addr #0

define spir_func float @_Z4logbf(float %a) local_unnamed_addr #0 {
  %call = tail call float @_Z8_cl_logbf(float %a)
  ret float %call
}


declare float @_Z8_cl_rintf(float) local_unnamed_addr #0

define spir_func float @_Z4rintf(float %a) local_unnamed_addr #0 {
  %call = tail call float @_Z8_cl_rintf(float %a)
  ret float %call
}


declare float @_Z9_cl_roundf(float) local_unnamed_addr #0

define spir_func float @_Z5roundf(float %a) local_unnamed_addr #0 {
  %call = tail call float @_Z9_cl_roundf(float %a)
  ret float %call
}


declare float @_Z9_cl_rsqrtf(float) local_unnamed_addr #0

define spir_func float @_Z5rsqrtf(float %a) local_unnamed_addr #0 {
  %call = tail call float @_Z9_cl_rsqrtf(float %a)
  ret float %call
}


declare float @_Z7_cl_sinf(float) local_unnamed_addr #0

define spir_func float @_Z3sinf(float %a) local_unnamed_addr #0 {
  %call = tail call float @_Z7_cl_sinf(float %a)
  ret float %call
}


declare float @_Z8_cl_sinhf(float) local_unnamed_addr #0

define spir_func float @_Z4sinhf(float %a) local_unnamed_addr #0 {
  %call = tail call float @_Z8_cl_sinhf(float %a)
  ret float %call
}


declare float @_Z9_cl_sinpif(float) local_unnamed_addr #0

define spir_func float @_Z5sinpif(float %a) local_unnamed_addr #0 {
  %call = tail call float @_Z9_cl_sinpif(float %a)
  ret float %call
}


declare float @_Z8_cl_sqrtf(float) local_unnamed_addr #0

define spir_func float @_Z4sqrtf(float %a) local_unnamed_addr #0 {
  %call = tail call float @_Z8_cl_sqrtf(float %a)
  ret float %call
}


declare float @_Z7_cl_tanf(float) local_unnamed_addr #0

define spir_func float @_Z3tanf(float %a) local_unnamed_addr #0 {
  %call = tail call float @_Z7_cl_tanf(float %a)
  ret float %call
}


declare float @_Z8_cl_tanhf(float) local_unnamed_addr #0

define spir_func float @_Z4tanhf(float %a) local_unnamed_addr #0 {
  %call = tail call float @_Z8_cl_tanhf(float %a)
  ret float %call
}


declare float @_Z9_cl_tanpif(float) local_unnamed_addr #0

define spir_func float @_Z5tanpif(float %a) local_unnamed_addr #0 {
  %call = tail call float @_Z9_cl_tanpif(float %a)
  ret float %call
}


declare float @_Z10_cl_tgammaf(float) local_unnamed_addr #0

define spir_func float @_Z6tgammaf(float %a) local_unnamed_addr #0 {
  %call = tail call float @_Z10_cl_tgammaf(float %a)
  ret float %call
}


declare float @_Z9_cl_truncf(float) local_unnamed_addr #0

define spir_func float @_Z5truncf(float %a) local_unnamed_addr #0 {
  %call = tail call float @_Z9_cl_truncf(float %a)
  ret float %call
}


declare float @_Z14_cl_native_cosf(float) local_unnamed_addr #0

define spir_func float @_Z10native_cosf(float %a) local_unnamed_addr #0 {
  %call = tail call float @_Z14_cl_native_cosf(float %a)
  ret float %call
}


declare float @_Z14_cl_native_expf(float) local_unnamed_addr #0

define spir_func float @_Z10native_expf(float %a) local_unnamed_addr #0 {
  %call = tail call float @_Z14_cl_native_expf(float %a)
  ret float %call
}


declare float @_Z15_cl_native_exp2f(float) local_unnamed_addr #0

define spir_func float @_Z11native_exp2f(float %a) local_unnamed_addr #0 {
  %call = tail call float @_Z15_cl_native_exp2f(float %a)
  ret float %call
}


declare float @_Z16_cl_native_exp10f(float) local_unnamed_addr #0

define spir_func float @_Z12native_exp10f(float %a) local_unnamed_addr #0 {
  %call = tail call float @_Z16_cl_native_exp10f(float %a)
  ret float %call
}


declare float @_Z14_cl_native_logf(float) local_unnamed_addr #0

define spir_func float @_Z10native_logf(float %a) local_unnamed_addr #0 {
  %call = tail call float @_Z14_cl_native_logf(float %a)
  ret float %call
}


declare float @_Z15_cl_native_log2f(float) local_unnamed_addr #0

define spir_func float @_Z11native_log2f(float %a) local_unnamed_addr #0 {
  %call = tail call float @_Z15_cl_native_log2f(float %a)
  ret float %call
}


declare float @_Z16_cl_native_log10f(float) local_unnamed_addr #0

define spir_func float @_Z12native_log10f(float %a) local_unnamed_addr #0 {
  %call = tail call float @_Z16_cl_native_log10f(float %a)
  ret float %call
}


declare float @_Z16_cl_native_recipf(float) local_unnamed_addr #0

define spir_func float @_Z12native_recipf(float %a) local_unnamed_addr #0 {
  %call = tail call float @_Z16_cl_native_recipf(float %a)
  ret float %call
}


declare float @_Z16_cl_native_rsqrtf(float) local_unnamed_addr #0

define spir_func float @_Z12native_rsqrtf(float %a) local_unnamed_addr #0 {
  %call = tail call float @_Z16_cl_native_rsqrtf(float %a)
  ret float %call
}


declare float @_Z14_cl_native_sinf(float) local_unnamed_addr #0

define spir_func float @_Z10native_sinf(float %a) local_unnamed_addr #0 {
  %call = tail call float @_Z14_cl_native_sinf(float %a)
  ret float %call
}


declare float @_Z15_cl_native_sqrtf(float) local_unnamed_addr #0

define spir_func float @_Z11native_sqrtf(float %a) local_unnamed_addr #0 {
  %call = tail call float @_Z15_cl_native_sqrtf(float %a)
  ret float %call
}


declare float @_Z14_cl_native_tanf(float) local_unnamed_addr #0

define spir_func float @_Z10native_tanf(float %a) local_unnamed_addr #0 {
  %call = tail call float @_Z14_cl_native_tanf(float %a)
  ret float %call
}


declare float @_Z11_cl_degreesf(float) local_unnamed_addr #0

define spir_func float @_Z7degreesf(float %a) local_unnamed_addr #0 {
  %call = tail call float @_Z11_cl_degreesf(float %a)
  ret float %call
}


declare float @_Z11_cl_radiansf(float) local_unnamed_addr #0

define spir_func float @_Z7radiansf(float %a) local_unnamed_addr #0 {
  %call = tail call float @_Z11_cl_radiansf(float %a)
  ret float %call
}


declare float @_Z8_cl_signf(float) local_unnamed_addr #0

define spir_func float @_Z4signf(float %a) local_unnamed_addr #0 {
  %call = tail call float @_Z8_cl_signf(float %a)
  ret float %call
}


declare float @_Z9_cl_atan2ff(float, float) local_unnamed_addr #0

define spir_func float @_Z5atan2ff(float %a, float %b) local_unnamed_addr #0 {
  %call = tail call float @_Z9_cl_atan2ff(float %a, float %b)
  ret float %call
}


declare float @_Z11_cl_atan2piff(float, float) local_unnamed_addr #0

define spir_func float @_Z7atan2piff(float %a, float %b) local_unnamed_addr #0 {
  %call = tail call float @_Z11_cl_atan2piff(float %a, float %b)
  ret float %call
}


declare float @_Z12_cl_copysignff(float, float) local_unnamed_addr #0

define spir_func float @_Z8copysignff(float %a, float %b) local_unnamed_addr #0 {
  %call = tail call float @_Z12_cl_copysignff(float %a, float %b)
  ret float %call
}


declare float @_Z8_cl_fdimff(float, float) local_unnamed_addr #0

define spir_func float @_Z4fdimff(float %a, float %b) local_unnamed_addr #0 {
  %call = tail call float @_Z8_cl_fdimff(float %a, float %b)
  ret float %call
}


declare float @_Z8_cl_fmaxff(float, float) local_unnamed_addr #0

define spir_func float @_Z4fmaxff(float %a, float %b) local_unnamed_addr #0 {
  %call = tail call float @_Z8_cl_fmaxff(float %a, float %b)
  ret float %call
}


declare float @_Z8_cl_fminff(float, float) local_unnamed_addr #0

define spir_func float @_Z4fminff(float %a, float %b) local_unnamed_addr #0 {
  %call = tail call float @_Z8_cl_fminff(float %a, float %b)
  ret float %call
}


declare float @_Z8_cl_fmodff(float, float) local_unnamed_addr #0

define spir_func float @_Z4fmodff(float %a, float %b) local_unnamed_addr #0 {
  %call = tail call float @_Z8_cl_fmodff(float %a, float %b)
  ret float %call
}


declare float @_Z9_cl_hypotff(float, float) local_unnamed_addr #0

define spir_func float @_Z5hypotff(float %a, float %b) local_unnamed_addr #0 {
  %call = tail call float @_Z9_cl_hypotff(float %a, float %b)
  ret float %call
}


declare float @_Z13_cl_nextafterff(float, float) local_unnamed_addr #0

define spir_func float @_Z9nextafterff(float %a, float %b) local_unnamed_addr #0 {
  %call = tail call float @_Z13_cl_nextafterff(float %a, float %b)
  ret float %call
}


declare float @_Z7_cl_powff(float, float) local_unnamed_addr #0

define spir_func float @_Z3powff(float %a, float %b) local_unnamed_addr #0 {
  %call = tail call float @_Z7_cl_powff(float %a, float %b)
  ret float %call
}


declare float @_Z8_cl_powrff(float, float) local_unnamed_addr #0

define spir_func float @_Z4powrff(float %a, float %b) local_unnamed_addr #0 {
  %call = tail call float @_Z8_cl_powrff(float %a, float %b)
  ret float %call
}


declare float @_Z10_cl_maxmagff(float, float) local_unnamed_addr #0

define spir_func float @_Z6maxmagff(float %a, float %b) local_unnamed_addr #0 {
  %call = tail call float @_Z10_cl_maxmagff(float %a, float %b)
  ret float %call
}


declare float @_Z10_cl_minmagff(float, float) local_unnamed_addr #0

define spir_func float @_Z6minmagff(float %a, float %b) local_unnamed_addr #0 {
  %call = tail call float @_Z10_cl_minmagff(float %a, float %b)
  ret float %call
}


declare float @_Z13_cl_remainderff(float, float) local_unnamed_addr #0

define spir_func float @_Z9remainderff(float %a, float %b) local_unnamed_addr #0 {
  %call = tail call float @_Z13_cl_remainderff(float %a, float %b)
  ret float %call
}


declare float @_Z17_cl_native_divideff(float, float) local_unnamed_addr #0

define spir_func float @_Z13native_divideff(float %a, float %b) local_unnamed_addr #0 {
  %call = tail call float @_Z17_cl_native_divideff(float %a, float %b)
  ret float %call
}


declare float @_Z15_cl_native_powrff(float, float) local_unnamed_addr #0

define spir_func float @_Z11native_powrff(float %a, float %b) local_unnamed_addr #0 {
  %call = tail call float @_Z15_cl_native_powrff(float %a, float %b)
  ret float %call
}


declare float @_Z7_cl_maxff(float, float) local_unnamed_addr #0

define spir_func float @_Z3maxff(float %a, float %b) local_unnamed_addr #0 {
  %call = tail call float @_Z7_cl_maxff(float %a, float %b)
  ret float %call
}


declare float @_Z7_cl_minff(float, float) local_unnamed_addr #0

define spir_func float @_Z3minff(float %a, float %b) local_unnamed_addr #0 {
  %call = tail call float @_Z7_cl_minff(float %a, float %b)
  ret float %call
}


declare float @_Z8_cl_stepff(float, float) local_unnamed_addr #0

define spir_func float @_Z4stepff(float %a, float %b) local_unnamed_addr #0 {
  %call = tail call float @_Z8_cl_stepff(float %a, float %b)
  ret float %call
}


declare float @_Z9_cl_fractfPU3AS1f(float, ptr addrspace(1)) local_unnamed_addr #0

define spir_func float @_Z5fractfPU3AS1f(float %a, ptr addrspace(1) %b) local_unnamed_addr #0 {
  %call = tail call float @_Z9_cl_fractfPU3AS1f(float %a, ptr addrspace(1) %b)
  ret float %call
}


declare float @_Z9_cl_fractfPU3AS3f(float, ptr addrspace(3)) local_unnamed_addr #0

define spir_func float @_Z5fractfPU3AS3f(float %a, ptr addrspace(3) %b) local_unnamed_addr #0 {
  %call = tail call float @_Z9_cl_fractfPU3AS3f(float %a, ptr addrspace(3) %b)
  ret float %call
}


declare float @_Z9_cl_fractfPf(float, float *) local_unnamed_addr #0

define spir_func float @_Z5fractfPf(float %a, float * %b) local_unnamed_addr #0 {
  %call = tail call float @_Z9_cl_fractfPf(float %a, float * %b)
  ret float %call
}


declare float @_Z10_cl_sincosfPU3AS1f(float, ptr addrspace(1)) local_unnamed_addr #0

define spir_func float @_Z6sincosfPU3AS1f(float %a, ptr addrspace(1) %b) local_unnamed_addr #0 {
  %call = tail call float @_Z10_cl_sincosfPU3AS1f(float %a, ptr addrspace(1) %b)
  ret float %call
}


declare float @_Z10_cl_sincosfPU3AS3f(float, ptr addrspace(3)) local_unnamed_addr #0

define spir_func float @_Z6sincosfPU3AS3f(float %a, ptr addrspace(3) %b) local_unnamed_addr #0 {
  %call = tail call float @_Z10_cl_sincosfPU3AS3f(float %a, ptr addrspace(3) %b)
  ret float %call
}


declare float @_Z10_cl_sincosfPf(float, float *) local_unnamed_addr #0

define spir_func float @_Z6sincosfPf(float %a, float * %b) local_unnamed_addr #0 {
  %call = tail call float @_Z10_cl_sincosfPf(float %a, float * %b)
  ret float %call
}


declare float @_Z8_cl_modffPU3AS1f(float, ptr addrspace(1)) local_unnamed_addr #0

define spir_func float @_Z4modffPU3AS1f(float %a, ptr addrspace(1) %b) local_unnamed_addr #0 {
  %call = tail call float @_Z8_cl_modffPU3AS1f(float %a, ptr addrspace(1) %b)
  ret float %call
}


declare float @_Z8_cl_modffPU3AS3f(float, ptr addrspace(3)) local_unnamed_addr #0

define spir_func float @_Z4modffPU3AS3f(float %a, ptr addrspace(3) %b) local_unnamed_addr #0 {
  %call = tail call float @_Z8_cl_modffPU3AS3f(float %a, ptr addrspace(3) %b)
  ret float %call
}


declare float @_Z8_cl_modffPf(float, float *) local_unnamed_addr #0

define spir_func float @_Z4modffPf(float %a, float * %b) local_unnamed_addr #0 {
  %call = tail call float @_Z8_cl_modffPf(float %a, float * %b)
  ret float %call
}


declare float @_Z13_cl_bitselectfff(float, float, float) local_unnamed_addr #0

define spir_func float @_Z9bitselectfff(float %a, float %b, float %c) local_unnamed_addr #0 {
  %call = tail call float @_Z13_cl_bitselectfff(float %a, float %b, float %c)
  ret float %call
}


declare float @_Z9_cl_clampfff(float, float, float) local_unnamed_addr #0

define spir_func float @_Z5clampfff(float %a, float %b, float %c) local_unnamed_addr #0 {
  %call = tail call float @_Z9_cl_clampfff(float %a, float %b, float %c)
  ret float %call
}


declare float @_Z7_cl_fmafff(float, float, float) local_unnamed_addr #0

define spir_func float @_Z3fmafff(float %a, float %b, float %c) local_unnamed_addr #0 {
  %call = tail call float @_Z7_cl_fmafff(float %a, float %b, float %c)
  ret float %call
}


declare float @_Z7_cl_madfff(float, float, float) local_unnamed_addr #0

define spir_func float @_Z3madfff(float %a, float %b, float %c) local_unnamed_addr #0 {
  %call = tail call float @_Z7_cl_madfff(float %a, float %b, float %c)
  ret float %call
}


declare float @_Z7_cl_mixfff(float, float, float) local_unnamed_addr #0

define spir_func float @_Z3mixfff(float %a, float %b, float %c) local_unnamed_addr #0 {
  %call = tail call float @_Z7_cl_mixfff(float %a, float %b, float %c)
  ret float %call
}


declare float @_Z14_cl_smoothstepfff(float, float, float) local_unnamed_addr #0

define spir_func float @_Z10smoothstepfff(float %a, float %b, float %c) local_unnamed_addr #0 {
  %call = tail call float @_Z14_cl_smoothstepfff(float %a, float %b, float %c)
  ret float %call
}


declare i32 @_Z9_cl_ilogbf(float) local_unnamed_addr #0

define spir_func i32 @_Z5ilogbf(float %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z9_cl_ilogbf(float %a)
  ret i32 %call
}


declare float @_Z9_cl_ldexpfi(float, i32) local_unnamed_addr #0

define spir_func float @_Z5ldexpfi(float %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call float @_Z9_cl_ldexpfi(float %a, i32 %b)
  ret float %call
}


declare float @_Z8_cl_pownfi(float, i32) local_unnamed_addr #0

define spir_func float @_Z4pownfi(float %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call float @_Z8_cl_pownfi(float %a, i32 %b)
  ret float %call
}


declare float @_Z9_cl_rootnfi(float, i32) local_unnamed_addr #0

define spir_func float @_Z5rootnfi(float %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call float @_Z9_cl_rootnfi(float %a, i32 %b)
  ret float %call
}


declare float @_Z10_cl_remquoffPU3AS1i(float, float, ptr addrspace(1)) local_unnamed_addr #0

define spir_func float @_Z6remquoffPU3AS1i(float %a, float %b, ptr addrspace(1) %c) local_unnamed_addr #0 {
  %call = tail call float @_Z10_cl_remquoffPU3AS1i(float %a, float %b, ptr addrspace(1) %c)
  ret float %call
}


declare float @_Z10_cl_remquoffPU3AS3i(float, float, ptr addrspace(3)) local_unnamed_addr #0

define spir_func float @_Z6remquoffPU3AS3i(float %a, float %b, ptr addrspace(3) %c) local_unnamed_addr #0 {
  %call = tail call float @_Z10_cl_remquoffPU3AS3i(float %a, float %b, ptr addrspace(3) %c)
  ret float %call
}


declare float @_Z10_cl_remquoffPi(float, float, i32 *) local_unnamed_addr #0

define spir_func float @_Z6remquoffPi(float %a, float %b, i32 * %c) local_unnamed_addr #0 {
  %call = tail call float @_Z10_cl_remquoffPi(float %a, float %b, i32 * %c)
  ret float %call
}


declare float @_Z7_cl_nanj(i32) local_unnamed_addr #0

define spir_func float @_Z3nanj(i32 %a) local_unnamed_addr #0 {
  %call = tail call float @_Z7_cl_nanj(i32 %a)
  ret float %call
}


declare float @_Z12_cl_lgamma_rfPU3AS1i(float, ptr addrspace(1)) local_unnamed_addr #0

define spir_func float @_Z8lgamma_rfPU3AS1i(float %a, ptr addrspace(1) %b) local_unnamed_addr #0 {
  %call = tail call float @_Z12_cl_lgamma_rfPU3AS1i(float %a, ptr addrspace(1) %b)
  ret float %call
}


declare float @_Z12_cl_lgamma_rfPU3AS3i(float, ptr addrspace(3)) local_unnamed_addr #0

define spir_func float @_Z8lgamma_rfPU3AS3i(float %a, ptr addrspace(3) %b) local_unnamed_addr #0 {
  %call = tail call float @_Z12_cl_lgamma_rfPU3AS3i(float %a, ptr addrspace(3) %b)
  ret float %call
}


declare float @_Z12_cl_lgamma_rfPi(float, i32 *) local_unnamed_addr #0

define spir_func float @_Z8lgamma_rfPi(float %a, i32 * %b) local_unnamed_addr #0 {
  %call = tail call float @_Z12_cl_lgamma_rfPi(float %a, i32 * %b)
  ret float %call
}


declare float @_Z9_cl_frexpfPU3AS1i(float, ptr addrspace(1)) local_unnamed_addr #0

define spir_func float @_Z5frexpfPU3AS1i(float %a, ptr addrspace(1) %b) local_unnamed_addr #0 {
  %call = tail call float @_Z9_cl_frexpfPU3AS1i(float %a, ptr addrspace(1) %b)
  ret float %call
}


declare float @_Z9_cl_frexpfPU3AS3i(float, ptr addrspace(3)) local_unnamed_addr #0

define spir_func float @_Z5frexpfPU3AS3i(float %a, ptr addrspace(3) %b) local_unnamed_addr #0 {
  %call = tail call float @_Z9_cl_frexpfPU3AS3i(float %a, ptr addrspace(3) %b)
  ret float %call
}


declare float @_Z9_cl_frexpfPi(float, i32 *) local_unnamed_addr #0

define spir_func float @_Z5frexpfPi(float %a, i32 * %b) local_unnamed_addr #0 {
  %call = tail call float @_Z9_cl_frexpfPi(float %a, i32 * %b)
  ret float %call
}


declare float @_Z10_cl_selectffi(float, float, i32) local_unnamed_addr #0

define spir_func float @_Z6selectffi(float %a, float %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call float @_Z10_cl_selectffi(float %a, float %b, i32 %c)
  ret float %call
}


declare float @_Z10_cl_selectffj(float, float, i32) local_unnamed_addr #0

define spir_func float @_Z6selectffj(float %a, float %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call float @_Z10_cl_selectffj(float %a, float %b, i32 %c)
  ret float %call
}


declare i32 @_Z11_cl_signbitf(float) local_unnamed_addr #0

define spir_func i32 @_Z7signbitf(float %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z11_cl_signbitf(float %a)
  ret i32 %call
}


declare i32 @_Z11_cl_isequalff(float, float) local_unnamed_addr #0

define spir_func i32 @_Z7isequalff(float %a, float %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z11_cl_isequalff(float %a, float %b)
  ret i32 %call
}


declare i32 @_Z14_cl_isnotequalff(float, float) local_unnamed_addr #0

define spir_func i32 @_Z10isnotequalff(float %a, float %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z14_cl_isnotequalff(float %a, float %b)
  ret i32 %call
}


declare i32 @_Z13_cl_isgreaterff(float, float) local_unnamed_addr #0

define spir_func i32 @_Z9isgreaterff(float %a, float %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z13_cl_isgreaterff(float %a, float %b)
  ret i32 %call
}


declare i32 @_Z18_cl_isgreaterequalff(float, float) local_unnamed_addr #0

define spir_func i32 @_Z14isgreaterequalff(float %a, float %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z18_cl_isgreaterequalff(float %a, float %b)
  ret i32 %call
}


declare i32 @_Z10_cl_islessff(float, float) local_unnamed_addr #0

define spir_func i32 @_Z6islessff(float %a, float %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z10_cl_islessff(float %a, float %b)
  ret i32 %call
}


declare i32 @_Z15_cl_islessequalff(float, float) local_unnamed_addr #0

define spir_func i32 @_Z11islessequalff(float %a, float %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z15_cl_islessequalff(float %a, float %b)
  ret i32 %call
}


declare i32 @_Z17_cl_islessgreaterff(float, float) local_unnamed_addr #0

define spir_func i32 @_Z13islessgreaterff(float %a, float %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z17_cl_islessgreaterff(float %a, float %b)
  ret i32 %call
}


declare i32 @_Z12_cl_isfinitef(float) local_unnamed_addr #0

define spir_func i32 @_Z8isfinitef(float %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z12_cl_isfinitef(float %a)
  ret i32 %call
}


declare i32 @_Z9_cl_isinff(float) local_unnamed_addr #0

define spir_func i32 @_Z5isinff(float %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z9_cl_isinff(float %a)
  ret i32 %call
}


declare i32 @_Z9_cl_isnanf(float) local_unnamed_addr #0

define spir_func i32 @_Z5isnanf(float %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z9_cl_isnanf(float %a)
  ret i32 %call
}


declare i32 @_Z12_cl_isnormalf(float) local_unnamed_addr #0

define spir_func i32 @_Z8isnormalf(float %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z12_cl_isnormalf(float %a)
  ret i32 %call
}


declare i32 @_Z13_cl_isorderedff(float, float) local_unnamed_addr #0

define spir_func i32 @_Z9isorderedff(float %a, float %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z13_cl_isorderedff(float %a, float %b)
  ret i32 %call
}


declare i32 @_Z15_cl_isunorderedff(float, float) local_unnamed_addr #0

define spir_func i32 @_Z11isunorderedff(float %a, float %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z15_cl_isunorderedff(float %a, float %b)
  ret i32 %call
}


declare <2 x float> @_Z8_cl_acosDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z4acosDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z8_cl_acosDv2_f(<2 x float> %a)
  ret <2 x float> %call
}


declare <2 x float> @_Z9_cl_acoshDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z5acoshDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z9_cl_acoshDv2_f(<2 x float> %a)
  ret <2 x float> %call
}


declare <2 x float> @_Z10_cl_acospiDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z6acospiDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z10_cl_acospiDv2_f(<2 x float> %a)
  ret <2 x float> %call
}


declare <2 x float> @_Z8_cl_asinDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z4asinDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z8_cl_asinDv2_f(<2 x float> %a)
  ret <2 x float> %call
}


declare <2 x float> @_Z9_cl_asinhDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z5asinhDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z9_cl_asinhDv2_f(<2 x float> %a)
  ret <2 x float> %call
}


declare <2 x float> @_Z10_cl_asinpiDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z6asinpiDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z10_cl_asinpiDv2_f(<2 x float> %a)
  ret <2 x float> %call
}


declare <2 x float> @_Z8_cl_atanDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z4atanDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z8_cl_atanDv2_f(<2 x float> %a)
  ret <2 x float> %call
}


declare <2 x float> @_Z9_cl_atanhDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z5atanhDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z9_cl_atanhDv2_f(<2 x float> %a)
  ret <2 x float> %call
}


declare <2 x float> @_Z10_cl_atanpiDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z6atanpiDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z10_cl_atanpiDv2_f(<2 x float> %a)
  ret <2 x float> %call
}


declare <2 x float> @_Z8_cl_cbrtDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z4cbrtDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z8_cl_cbrtDv2_f(<2 x float> %a)
  ret <2 x float> %call
}


declare <2 x float> @_Z8_cl_ceilDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z4ceilDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z8_cl_ceilDv2_f(<2 x float> %a)
  ret <2 x float> %call
}


declare <2 x float> @_Z7_cl_cosDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z3cosDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z7_cl_cosDv2_f(<2 x float> %a)
  ret <2 x float> %call
}


declare <2 x float> @_Z8_cl_coshDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z4coshDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z8_cl_coshDv2_f(<2 x float> %a)
  ret <2 x float> %call
}


declare <2 x float> @_Z9_cl_cospiDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z5cospiDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z9_cl_cospiDv2_f(<2 x float> %a)
  ret <2 x float> %call
}


declare <2 x float> @_Z8_cl_erfcDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z4erfcDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z8_cl_erfcDv2_f(<2 x float> %a)
  ret <2 x float> %call
}


declare <2 x float> @_Z7_cl_erfDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z3erfDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z7_cl_erfDv2_f(<2 x float> %a)
  ret <2 x float> %call
}


declare <2 x float> @_Z7_cl_expDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z3expDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z7_cl_expDv2_f(<2 x float> %a)
  ret <2 x float> %call
}


declare <2 x float> @_Z8_cl_exp2Dv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z4exp2Dv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z8_cl_exp2Dv2_f(<2 x float> %a)
  ret <2 x float> %call
}


declare <2 x float> @_Z9_cl_exp10Dv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z5exp10Dv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z9_cl_exp10Dv2_f(<2 x float> %a)
  ret <2 x float> %call
}


declare <2 x float> @_Z9_cl_expm1Dv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z5expm1Dv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z9_cl_expm1Dv2_f(<2 x float> %a)
  ret <2 x float> %call
}


declare <2 x float> @_Z8_cl_fabsDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z4fabsDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z8_cl_fabsDv2_f(<2 x float> %a)
  ret <2 x float> %call
}


declare <2 x float> @_Z9_cl_floorDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z5floorDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z9_cl_floorDv2_f(<2 x float> %a)
  ret <2 x float> %call
}


declare <2 x float> @_Z10_cl_lgammaDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z6lgammaDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z10_cl_lgammaDv2_f(<2 x float> %a)
  ret <2 x float> %call
}


declare <2 x float> @_Z7_cl_logDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z3logDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z7_cl_logDv2_f(<2 x float> %a)
  ret <2 x float> %call
}


declare <2 x float> @_Z9_cl_log10Dv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z5log10Dv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z9_cl_log10Dv2_f(<2 x float> %a)
  ret <2 x float> %call
}


declare <2 x float> @_Z8_cl_log2Dv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z4log2Dv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z8_cl_log2Dv2_f(<2 x float> %a)
  ret <2 x float> %call
}


declare <2 x float> @_Z9_cl_log1pDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z5log1pDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z9_cl_log1pDv2_f(<2 x float> %a)
  ret <2 x float> %call
}


declare <2 x float> @_Z8_cl_logbDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z4logbDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z8_cl_logbDv2_f(<2 x float> %a)
  ret <2 x float> %call
}


declare <2 x float> @_Z8_cl_rintDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z4rintDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z8_cl_rintDv2_f(<2 x float> %a)
  ret <2 x float> %call
}


declare <2 x float> @_Z9_cl_roundDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z5roundDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z9_cl_roundDv2_f(<2 x float> %a)
  ret <2 x float> %call
}


declare <2 x float> @_Z9_cl_rsqrtDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z5rsqrtDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z9_cl_rsqrtDv2_f(<2 x float> %a)
  ret <2 x float> %call
}


declare <2 x float> @_Z7_cl_sinDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z3sinDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z7_cl_sinDv2_f(<2 x float> %a)
  ret <2 x float> %call
}


declare <2 x float> @_Z8_cl_sinhDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z4sinhDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z8_cl_sinhDv2_f(<2 x float> %a)
  ret <2 x float> %call
}


declare <2 x float> @_Z9_cl_sinpiDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z5sinpiDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z9_cl_sinpiDv2_f(<2 x float> %a)
  ret <2 x float> %call
}


declare <2 x float> @_Z8_cl_sqrtDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z4sqrtDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z8_cl_sqrtDv2_f(<2 x float> %a)
  ret <2 x float> %call
}


declare <2 x float> @_Z7_cl_tanDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z3tanDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z7_cl_tanDv2_f(<2 x float> %a)
  ret <2 x float> %call
}


declare <2 x float> @_Z8_cl_tanhDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z4tanhDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z8_cl_tanhDv2_f(<2 x float> %a)
  ret <2 x float> %call
}


declare <2 x float> @_Z9_cl_tanpiDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z5tanpiDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z9_cl_tanpiDv2_f(<2 x float> %a)
  ret <2 x float> %call
}


declare <2 x float> @_Z10_cl_tgammaDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z6tgammaDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z10_cl_tgammaDv2_f(<2 x float> %a)
  ret <2 x float> %call
}


declare <2 x float> @_Z9_cl_truncDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z5truncDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z9_cl_truncDv2_f(<2 x float> %a)
  ret <2 x float> %call
}


declare <2 x float> @_Z14_cl_native_cosDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z10native_cosDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z14_cl_native_cosDv2_f(<2 x float> %a)
  ret <2 x float> %call
}


declare <2 x float> @_Z14_cl_native_expDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z10native_expDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z14_cl_native_expDv2_f(<2 x float> %a)
  ret <2 x float> %call
}


declare <2 x float> @_Z15_cl_native_exp2Dv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z11native_exp2Dv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z15_cl_native_exp2Dv2_f(<2 x float> %a)
  ret <2 x float> %call
}


declare <2 x float> @_Z16_cl_native_exp10Dv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z12native_exp10Dv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z16_cl_native_exp10Dv2_f(<2 x float> %a)
  ret <2 x float> %call
}


declare <2 x float> @_Z14_cl_native_logDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z10native_logDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z14_cl_native_logDv2_f(<2 x float> %a)
  ret <2 x float> %call
}


declare <2 x float> @_Z15_cl_native_log2Dv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z11native_log2Dv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z15_cl_native_log2Dv2_f(<2 x float> %a)
  ret <2 x float> %call
}


declare <2 x float> @_Z16_cl_native_log10Dv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z12native_log10Dv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z16_cl_native_log10Dv2_f(<2 x float> %a)
  ret <2 x float> %call
}


declare <2 x float> @_Z16_cl_native_recipDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z12native_recipDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z16_cl_native_recipDv2_f(<2 x float> %a)
  ret <2 x float> %call
}


declare <2 x float> @_Z16_cl_native_rsqrtDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z12native_rsqrtDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z16_cl_native_rsqrtDv2_f(<2 x float> %a)
  ret <2 x float> %call
}


declare <2 x float> @_Z14_cl_native_sinDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z10native_sinDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z14_cl_native_sinDv2_f(<2 x float> %a)
  ret <2 x float> %call
}


declare <2 x float> @_Z15_cl_native_sqrtDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z11native_sqrtDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z15_cl_native_sqrtDv2_f(<2 x float> %a)
  ret <2 x float> %call
}


declare <2 x float> @_Z14_cl_native_tanDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z10native_tanDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z14_cl_native_tanDv2_f(<2 x float> %a)
  ret <2 x float> %call
}


declare <2 x float> @_Z11_cl_degreesDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z7degreesDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z11_cl_degreesDv2_f(<2 x float> %a)
  ret <2 x float> %call
}


declare <2 x float> @_Z11_cl_radiansDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z7radiansDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z11_cl_radiansDv2_f(<2 x float> %a)
  ret <2 x float> %call
}


declare <2 x float> @_Z8_cl_signDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z4signDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z8_cl_signDv2_f(<2 x float> %a)
  ret <2 x float> %call
}


declare <2 x float> @_Z9_cl_atan2Dv2_fS_(<2 x float>, <2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z5atan2Dv2_fS_(<2 x float> %a, <2 x float> %b) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z9_cl_atan2Dv2_fS_(<2 x float> %a, <2 x float> %b)
  ret <2 x float> %call
}


declare <2 x float> @_Z11_cl_atan2piDv2_fS_(<2 x float>, <2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z7atan2piDv2_fS_(<2 x float> %a, <2 x float> %b) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z11_cl_atan2piDv2_fS_(<2 x float> %a, <2 x float> %b)
  ret <2 x float> %call
}


declare <2 x float> @_Z12_cl_copysignDv2_fS_(<2 x float>, <2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z8copysignDv2_fS_(<2 x float> %a, <2 x float> %b) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z12_cl_copysignDv2_fS_(<2 x float> %a, <2 x float> %b)
  ret <2 x float> %call
}


declare <2 x float> @_Z8_cl_fdimDv2_fS_(<2 x float>, <2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z4fdimDv2_fS_(<2 x float> %a, <2 x float> %b) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z8_cl_fdimDv2_fS_(<2 x float> %a, <2 x float> %b)
  ret <2 x float> %call
}


declare <2 x float> @_Z8_cl_fmaxDv2_fS_(<2 x float>, <2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z4fmaxDv2_fS_(<2 x float> %a, <2 x float> %b) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z8_cl_fmaxDv2_fS_(<2 x float> %a, <2 x float> %b)
  ret <2 x float> %call
}


declare <2 x float> @_Z8_cl_fminDv2_fS_(<2 x float>, <2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z4fminDv2_fS_(<2 x float> %a, <2 x float> %b) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z8_cl_fminDv2_fS_(<2 x float> %a, <2 x float> %b)
  ret <2 x float> %call
}


declare <2 x float> @_Z8_cl_fmodDv2_fS_(<2 x float>, <2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z4fmodDv2_fS_(<2 x float> %a, <2 x float> %b) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z8_cl_fmodDv2_fS_(<2 x float> %a, <2 x float> %b)
  ret <2 x float> %call
}


declare <2 x float> @_Z9_cl_hypotDv2_fS_(<2 x float>, <2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z5hypotDv2_fS_(<2 x float> %a, <2 x float> %b) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z9_cl_hypotDv2_fS_(<2 x float> %a, <2 x float> %b)
  ret <2 x float> %call
}


declare <2 x float> @_Z13_cl_nextafterDv2_fS_(<2 x float>, <2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z9nextafterDv2_fS_(<2 x float> %a, <2 x float> %b) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z13_cl_nextafterDv2_fS_(<2 x float> %a, <2 x float> %b)
  ret <2 x float> %call
}


declare <2 x float> @_Z7_cl_powDv2_fS_(<2 x float>, <2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z3powDv2_fS_(<2 x float> %a, <2 x float> %b) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z7_cl_powDv2_fS_(<2 x float> %a, <2 x float> %b)
  ret <2 x float> %call
}


declare <2 x float> @_Z8_cl_powrDv2_fS_(<2 x float>, <2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z4powrDv2_fS_(<2 x float> %a, <2 x float> %b) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z8_cl_powrDv2_fS_(<2 x float> %a, <2 x float> %b)
  ret <2 x float> %call
}


declare <2 x float> @_Z10_cl_maxmagDv2_fS_(<2 x float>, <2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z6maxmagDv2_fS_(<2 x float> %a, <2 x float> %b) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z10_cl_maxmagDv2_fS_(<2 x float> %a, <2 x float> %b)
  ret <2 x float> %call
}


declare <2 x float> @_Z10_cl_minmagDv2_fS_(<2 x float>, <2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z6minmagDv2_fS_(<2 x float> %a, <2 x float> %b) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z10_cl_minmagDv2_fS_(<2 x float> %a, <2 x float> %b)
  ret <2 x float> %call
}


declare <2 x float> @_Z13_cl_remainderDv2_fS_(<2 x float>, <2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z9remainderDv2_fS_(<2 x float> %a, <2 x float> %b) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z13_cl_remainderDv2_fS_(<2 x float> %a, <2 x float> %b)
  ret <2 x float> %call
}


declare <2 x float> @_Z17_cl_native_divideDv2_fS_(<2 x float>, <2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z13native_divideDv2_fS_(<2 x float> %a, <2 x float> %b) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z17_cl_native_divideDv2_fS_(<2 x float> %a, <2 x float> %b)
  ret <2 x float> %call
}


declare <2 x float> @_Z15_cl_native_powrDv2_fS_(<2 x float>, <2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z11native_powrDv2_fS_(<2 x float> %a, <2 x float> %b) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z15_cl_native_powrDv2_fS_(<2 x float> %a, <2 x float> %b)
  ret <2 x float> %call
}


declare <2 x float> @_Z7_cl_maxDv2_fS_(<2 x float>, <2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z3maxDv2_fS_(<2 x float> %a, <2 x float> %b) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z7_cl_maxDv2_fS_(<2 x float> %a, <2 x float> %b)
  ret <2 x float> %call
}


declare <2 x float> @_Z7_cl_minDv2_fS_(<2 x float>, <2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z3minDv2_fS_(<2 x float> %a, <2 x float> %b) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z7_cl_minDv2_fS_(<2 x float> %a, <2 x float> %b)
  ret <2 x float> %call
}


declare <2 x float> @_Z8_cl_stepDv2_fS_(<2 x float>, <2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z4stepDv2_fS_(<2 x float> %a, <2 x float> %b) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z8_cl_stepDv2_fS_(<2 x float> %a, <2 x float> %b)
  ret <2 x float> %call
}


declare <2 x float> @_Z9_cl_fractDv2_fPU3AS1S_(<2 x float>, <2 x float> addrspace(1)*) local_unnamed_addr #0

define spir_func <2 x float> @_Z5fractDv2_fPU3AS1S_(<2 x float> %a, <2 x float> addrspace(1)* %b) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z9_cl_fractDv2_fPU3AS1S_(<2 x float> %a, <2 x float> addrspace(1)* %b)
  ret <2 x float> %call
}


declare <2 x float> @_Z9_cl_fractDv2_fPU3AS3S_(<2 x float>, <2 x float> addrspace(3)*) local_unnamed_addr #0

define spir_func <2 x float> @_Z5fractDv2_fPU3AS3S_(<2 x float> %a, <2 x float> addrspace(3)* %b) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z9_cl_fractDv2_fPU3AS3S_(<2 x float> %a, <2 x float> addrspace(3)* %b)
  ret <2 x float> %call
}


declare <2 x float> @_Z9_cl_fractDv2_fPS_(<2 x float>, <2 x float> *) local_unnamed_addr #0

define spir_func <2 x float> @_Z5fractDv2_fPS_(<2 x float> %a, <2 x float> * %b) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z9_cl_fractDv2_fPS_(<2 x float> %a, <2 x float> * %b)
  ret <2 x float> %call
}


declare <2 x float> @_Z10_cl_sincosDv2_fPU3AS1S_(<2 x float>, <2 x float> addrspace(1)*) local_unnamed_addr #0

define spir_func <2 x float> @_Z6sincosDv2_fPU3AS1S_(<2 x float> %a, <2 x float> addrspace(1)* %b) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z10_cl_sincosDv2_fPU3AS1S_(<2 x float> %a, <2 x float> addrspace(1)* %b)
  ret <2 x float> %call
}


declare <2 x float> @_Z10_cl_sincosDv2_fPU3AS3S_(<2 x float>, <2 x float> addrspace(3)*) local_unnamed_addr #0

define spir_func <2 x float> @_Z6sincosDv2_fPU3AS3S_(<2 x float> %a, <2 x float> addrspace(3)* %b) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z10_cl_sincosDv2_fPU3AS3S_(<2 x float> %a, <2 x float> addrspace(3)* %b)
  ret <2 x float> %call
}


declare <2 x float> @_Z10_cl_sincosDv2_fPS_(<2 x float>, <2 x float> *) local_unnamed_addr #0

define spir_func <2 x float> @_Z6sincosDv2_fPS_(<2 x float> %a, <2 x float> * %b) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z10_cl_sincosDv2_fPS_(<2 x float> %a, <2 x float> * %b)
  ret <2 x float> %call
}


declare <2 x float> @_Z8_cl_modfDv2_fPU3AS1S_(<2 x float>, <2 x float> addrspace(1)*) local_unnamed_addr #0

define spir_func <2 x float> @_Z4modfDv2_fPU3AS1S_(<2 x float> %a, <2 x float> addrspace(1)* %b) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z8_cl_modfDv2_fPU3AS1S_(<2 x float> %a, <2 x float> addrspace(1)* %b)
  ret <2 x float> %call
}


declare <2 x float> @_Z8_cl_modfDv2_fPU3AS3S_(<2 x float>, <2 x float> addrspace(3)*) local_unnamed_addr #0

define spir_func <2 x float> @_Z4modfDv2_fPU3AS3S_(<2 x float> %a, <2 x float> addrspace(3)* %b) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z8_cl_modfDv2_fPU3AS3S_(<2 x float> %a, <2 x float> addrspace(3)* %b)
  ret <2 x float> %call
}


declare <2 x float> @_Z8_cl_modfDv2_fPS_(<2 x float>, <2 x float> *) local_unnamed_addr #0

define spir_func <2 x float> @_Z4modfDv2_fPS_(<2 x float> %a, <2 x float> * %b) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z8_cl_modfDv2_fPS_(<2 x float> %a, <2 x float> * %b)
  ret <2 x float> %call
}


declare <2 x float> @_Z13_cl_bitselectDv2_fS_S_(<2 x float>, <2 x float>, <2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z9bitselectDv2_fS_S_(<2 x float> %a, <2 x float> %b, <2 x float> %c) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z13_cl_bitselectDv2_fS_S_(<2 x float> %a, <2 x float> %b, <2 x float> %c)
  ret <2 x float> %call
}


declare <2 x float> @_Z9_cl_clampDv2_fS_S_(<2 x float>, <2 x float>, <2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z5clampDv2_fS_S_(<2 x float> %a, <2 x float> %b, <2 x float> %c) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z9_cl_clampDv2_fS_S_(<2 x float> %a, <2 x float> %b, <2 x float> %c)
  ret <2 x float> %call
}


declare <2 x float> @_Z7_cl_fmaDv2_fS_S_(<2 x float>, <2 x float>, <2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z3fmaDv2_fS_S_(<2 x float> %a, <2 x float> %b, <2 x float> %c) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z7_cl_fmaDv2_fS_S_(<2 x float> %a, <2 x float> %b, <2 x float> %c)
  ret <2 x float> %call
}


declare <2 x float> @_Z7_cl_madDv2_fS_S_(<2 x float>, <2 x float>, <2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z3madDv2_fS_S_(<2 x float> %a, <2 x float> %b, <2 x float> %c) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z7_cl_madDv2_fS_S_(<2 x float> %a, <2 x float> %b, <2 x float> %c)
  ret <2 x float> %call
}


declare <2 x float> @_Z7_cl_mixDv2_fS_S_(<2 x float>, <2 x float>, <2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z3mixDv2_fS_S_(<2 x float> %a, <2 x float> %b, <2 x float> %c) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z7_cl_mixDv2_fS_S_(<2 x float> %a, <2 x float> %b, <2 x float> %c)
  ret <2 x float> %call
}


declare <2 x float> @_Z14_cl_smoothstepDv2_fS_S_(<2 x float>, <2 x float>, <2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z10smoothstepDv2_fS_S_(<2 x float> %a, <2 x float> %b, <2 x float> %c) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z14_cl_smoothstepDv2_fS_S_(<2 x float> %a, <2 x float> %b, <2 x float> %c)
  ret <2 x float> %call
}


declare i32 @_Z9_cl_ilogbDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func i32 @_Z5ilogbDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z9_cl_ilogbDv2_f(<2 x float> %a)
  ret i32 %call
}


declare <2 x float> @_Z9_cl_ldexpDv2_fDv2_i(<2 x float>, <2 x i32>) local_unnamed_addr #0

define spir_func <2 x float> @_Z5ldexpDv2_fDv2_i(<2 x float> %a, <2 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z9_cl_ldexpDv2_fDv2_i(<2 x float> %a, <2 x i32> %b)
  ret <2 x float> %call
}


declare <2 x float> @_Z8_cl_pownDv2_fDv2_i(<2 x float>, <2 x i32>) local_unnamed_addr #0

define spir_func <2 x float> @_Z4pownDv2_fDv2_i(<2 x float> %a, <2 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z8_cl_pownDv2_fDv2_i(<2 x float> %a, <2 x i32> %b)
  ret <2 x float> %call
}


declare <2 x float> @_Z9_cl_rootnDv2_fDv2_i(<2 x float>, <2 x i32>) local_unnamed_addr #0

define spir_func <2 x float> @_Z5rootnDv2_fDv2_i(<2 x float> %a, <2 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z9_cl_rootnDv2_fDv2_i(<2 x float> %a, <2 x i32> %b)
  ret <2 x float> %call
}


declare <2 x float> @_Z10_cl_remquoDv2_fS_PU3AS1Dv2_i(<2 x float>, <2 x float>, <2 x i32> addrspace(1)*) local_unnamed_addr #0

define spir_func <2 x float> @_Z6remquoDv2_fS_PU3AS1Dv2_i(<2 x float> %a, <2 x float> %b, <2 x i32> addrspace(1)* %c) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z10_cl_remquoDv2_fS_PU3AS1Dv2_i(<2 x float> %a, <2 x float> %b, <2 x i32> addrspace(1)* %c)
  ret <2 x float> %call
}


declare <2 x float> @_Z10_cl_remquoDv2_fS_PU3AS3Dv2_i(<2 x float>, <2 x float>, <2 x i32> addrspace(3)*) local_unnamed_addr #0

define spir_func <2 x float> @_Z6remquoDv2_fS_PU3AS3Dv2_i(<2 x float> %a, <2 x float> %b, <2 x i32> addrspace(3)* %c) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z10_cl_remquoDv2_fS_PU3AS3Dv2_i(<2 x float> %a, <2 x float> %b, <2 x i32> addrspace(3)* %c)
  ret <2 x float> %call
}


declare <2 x float> @_Z10_cl_remquoDv2_fS_PDv2_i(<2 x float>, <2 x float>, <2 x i32> *) local_unnamed_addr #0

define spir_func <2 x float> @_Z6remquoDv2_fS_PDv2_i(<2 x float> %a, <2 x float> %b, <2 x i32> * %c) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z10_cl_remquoDv2_fS_PDv2_i(<2 x float> %a, <2 x float> %b, <2 x i32> * %c)
  ret <2 x float> %call
}


declare <2 x float> @_Z7_cl_nanDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x float> @_Z3nanDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z7_cl_nanDv2_j(<2 x i32> %a)
  ret <2 x float> %call
}


declare <2 x float> @_Z12_cl_lgamma_rDv2_fPU3AS1Dv2_i(<2 x float>, <2 x i32> addrspace(1)*) local_unnamed_addr #0

define spir_func <2 x float> @_Z8lgamma_rDv2_fPU3AS1Dv2_i(<2 x float> %a, <2 x i32> addrspace(1)* %b) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z12_cl_lgamma_rDv2_fPU3AS1Dv2_i(<2 x float> %a, <2 x i32> addrspace(1)* %b)
  ret <2 x float> %call
}


declare <2 x float> @_Z12_cl_lgamma_rDv2_fPU3AS3Dv2_i(<2 x float>, <2 x i32> addrspace(3)*) local_unnamed_addr #0

define spir_func <2 x float> @_Z8lgamma_rDv2_fPU3AS3Dv2_i(<2 x float> %a, <2 x i32> addrspace(3)* %b) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z12_cl_lgamma_rDv2_fPU3AS3Dv2_i(<2 x float> %a, <2 x i32> addrspace(3)* %b)
  ret <2 x float> %call
}


declare <2 x float> @_Z12_cl_lgamma_rDv2_fPDv2_i(<2 x float>, <2 x i32> *) local_unnamed_addr #0

define spir_func <2 x float> @_Z8lgamma_rDv2_fPDv2_i(<2 x float> %a, <2 x i32> * %b) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z12_cl_lgamma_rDv2_fPDv2_i(<2 x float> %a, <2 x i32> * %b)
  ret <2 x float> %call
}


declare <2 x float> @_Z9_cl_frexpDv2_fPU3AS1Dv2_i(<2 x float>, <2 x i32> addrspace(1)*) local_unnamed_addr #0

define spir_func <2 x float> @_Z5frexpDv2_fPU3AS1Dv2_i(<2 x float> %a, <2 x i32> addrspace(1)* %b) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z9_cl_frexpDv2_fPU3AS1Dv2_i(<2 x float> %a, <2 x i32> addrspace(1)* %b)
  ret <2 x float> %call
}


declare <2 x float> @_Z9_cl_frexpDv2_fPU3AS3Dv2_i(<2 x float>, <2 x i32> addrspace(3)*) local_unnamed_addr #0

define spir_func <2 x float> @_Z5frexpDv2_fPU3AS3Dv2_i(<2 x float> %a, <2 x i32> addrspace(3)* %b) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z9_cl_frexpDv2_fPU3AS3Dv2_i(<2 x float> %a, <2 x i32> addrspace(3)* %b)
  ret <2 x float> %call
}


declare <2 x float> @_Z9_cl_frexpDv2_fPDv2_i(<2 x float>, <2 x i32> *) local_unnamed_addr #0

define spir_func <2 x float> @_Z5frexpDv2_fPDv2_i(<2 x float> %a, <2 x i32> * %b) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z9_cl_frexpDv2_fPDv2_i(<2 x float> %a, <2 x i32> * %b)
  ret <2 x float> %call
}


declare <2 x float> @_Z10_cl_selectDv2_fS_Dv2_i(<2 x float>, <2 x float>, <2 x i32>) local_unnamed_addr #0

define spir_func <2 x float> @_Z6selectDv2_fS_Dv2_i(<2 x float> %a, <2 x float> %b, <2 x i32> %c) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z10_cl_selectDv2_fS_Dv2_i(<2 x float> %a, <2 x float> %b, <2 x i32> %c)
  ret <2 x float> %call
}


declare <2 x float> @_Z10_cl_selectDv2_fS_Dv2_j(<2 x float>, <2 x float>, <2 x i32>) local_unnamed_addr #0

define spir_func <2 x float> @_Z6selectDv2_fS_Dv2_j(<2 x float> %a, <2 x float> %b, <2 x i32> %c) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z10_cl_selectDv2_fS_Dv2_j(<2 x float> %a, <2 x float> %b, <2 x i32> %c)
  ret <2 x float> %call
}


declare <2 x i32> @_Z11_cl_signbitDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z7signbitDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z11_cl_signbitDv2_f(<2 x float> %a)
  ret <2 x i32> %call
}


declare <2 x i32> @_Z11_cl_isequalDv2_fS_(<2 x float>, <2 x float>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z7isequalDv2_fS_(<2 x float> %a, <2 x float> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z11_cl_isequalDv2_fS_(<2 x float> %a, <2 x float> %b)
  ret <2 x i32> %call
}


declare <2 x i32> @_Z14_cl_isnotequalDv2_fS_(<2 x float>, <2 x float>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z10isnotequalDv2_fS_(<2 x float> %a, <2 x float> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z14_cl_isnotequalDv2_fS_(<2 x float> %a, <2 x float> %b)
  ret <2 x i32> %call
}


declare <2 x i32> @_Z13_cl_isgreaterDv2_fS_(<2 x float>, <2 x float>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z9isgreaterDv2_fS_(<2 x float> %a, <2 x float> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z13_cl_isgreaterDv2_fS_(<2 x float> %a, <2 x float> %b)
  ret <2 x i32> %call
}


declare <2 x i32> @_Z18_cl_isgreaterequalDv2_fS_(<2 x float>, <2 x float>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z14isgreaterequalDv2_fS_(<2 x float> %a, <2 x float> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z18_cl_isgreaterequalDv2_fS_(<2 x float> %a, <2 x float> %b)
  ret <2 x i32> %call
}


declare <2 x i32> @_Z10_cl_islessDv2_fS_(<2 x float>, <2 x float>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z6islessDv2_fS_(<2 x float> %a, <2 x float> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z10_cl_islessDv2_fS_(<2 x float> %a, <2 x float> %b)
  ret <2 x i32> %call
}


declare <2 x i32> @_Z15_cl_islessequalDv2_fS_(<2 x float>, <2 x float>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z11islessequalDv2_fS_(<2 x float> %a, <2 x float> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z15_cl_islessequalDv2_fS_(<2 x float> %a, <2 x float> %b)
  ret <2 x i32> %call
}


declare <2 x i32> @_Z17_cl_islessgreaterDv2_fS_(<2 x float>, <2 x float>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z13islessgreaterDv2_fS_(<2 x float> %a, <2 x float> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z17_cl_islessgreaterDv2_fS_(<2 x float> %a, <2 x float> %b)
  ret <2 x i32> %call
}


declare <2 x i32> @_Z12_cl_isfiniteDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z8isfiniteDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z12_cl_isfiniteDv2_f(<2 x float> %a)
  ret <2 x i32> %call
}


declare <2 x i32> @_Z9_cl_isinfDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z5isinfDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z9_cl_isinfDv2_f(<2 x float> %a)
  ret <2 x i32> %call
}


declare <2 x i32> @_Z9_cl_isnanDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z5isnanDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z9_cl_isnanDv2_f(<2 x float> %a)
  ret <2 x i32> %call
}


declare <2 x i32> @_Z12_cl_isnormalDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z8isnormalDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z12_cl_isnormalDv2_f(<2 x float> %a)
  ret <2 x i32> %call
}


declare <2 x i32> @_Z13_cl_isorderedDv2_fS_(<2 x float>, <2 x float>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z9isorderedDv2_fS_(<2 x float> %a, <2 x float> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z13_cl_isorderedDv2_fS_(<2 x float> %a, <2 x float> %b)
  ret <2 x i32> %call
}


declare <2 x i32> @_Z15_cl_isunorderedDv2_fS_(<2 x float>, <2 x float>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z11isunorderedDv2_fS_(<2 x float> %a, <2 x float> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z15_cl_isunorderedDv2_fS_(<2 x float> %a, <2 x float> %b)
  ret <2 x i32> %call
}


declare <3 x float> @_Z8_cl_acosDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z4acosDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z8_cl_acosDv3_f(<3 x float> %a)
  ret <3 x float> %call
}


declare <3 x float> @_Z9_cl_acoshDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z5acoshDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z9_cl_acoshDv3_f(<3 x float> %a)
  ret <3 x float> %call
}


declare <3 x float> @_Z10_cl_acospiDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z6acospiDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z10_cl_acospiDv3_f(<3 x float> %a)
  ret <3 x float> %call
}


declare <3 x float> @_Z8_cl_asinDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z4asinDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z8_cl_asinDv3_f(<3 x float> %a)
  ret <3 x float> %call
}


declare <3 x float> @_Z9_cl_asinhDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z5asinhDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z9_cl_asinhDv3_f(<3 x float> %a)
  ret <3 x float> %call
}


declare <3 x float> @_Z10_cl_asinpiDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z6asinpiDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z10_cl_asinpiDv3_f(<3 x float> %a)
  ret <3 x float> %call
}


declare <3 x float> @_Z8_cl_atanDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z4atanDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z8_cl_atanDv3_f(<3 x float> %a)
  ret <3 x float> %call
}


declare <3 x float> @_Z9_cl_atanhDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z5atanhDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z9_cl_atanhDv3_f(<3 x float> %a)
  ret <3 x float> %call
}


declare <3 x float> @_Z10_cl_atanpiDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z6atanpiDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z10_cl_atanpiDv3_f(<3 x float> %a)
  ret <3 x float> %call
}


declare <3 x float> @_Z8_cl_cbrtDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z4cbrtDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z8_cl_cbrtDv3_f(<3 x float> %a)
  ret <3 x float> %call
}


declare <3 x float> @_Z8_cl_ceilDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z4ceilDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z8_cl_ceilDv3_f(<3 x float> %a)
  ret <3 x float> %call
}


declare <3 x float> @_Z7_cl_cosDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z3cosDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z7_cl_cosDv3_f(<3 x float> %a)
  ret <3 x float> %call
}


declare <3 x float> @_Z8_cl_coshDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z4coshDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z8_cl_coshDv3_f(<3 x float> %a)
  ret <3 x float> %call
}


declare <3 x float> @_Z9_cl_cospiDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z5cospiDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z9_cl_cospiDv3_f(<3 x float> %a)
  ret <3 x float> %call
}


declare <3 x float> @_Z8_cl_erfcDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z4erfcDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z8_cl_erfcDv3_f(<3 x float> %a)
  ret <3 x float> %call
}


declare <3 x float> @_Z7_cl_erfDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z3erfDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z7_cl_erfDv3_f(<3 x float> %a)
  ret <3 x float> %call
}


declare <3 x float> @_Z7_cl_expDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z3expDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z7_cl_expDv3_f(<3 x float> %a)
  ret <3 x float> %call
}


declare <3 x float> @_Z8_cl_exp2Dv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z4exp2Dv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z8_cl_exp2Dv3_f(<3 x float> %a)
  ret <3 x float> %call
}


declare <3 x float> @_Z9_cl_exp10Dv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z5exp10Dv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z9_cl_exp10Dv3_f(<3 x float> %a)
  ret <3 x float> %call
}


declare <3 x float> @_Z9_cl_expm1Dv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z5expm1Dv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z9_cl_expm1Dv3_f(<3 x float> %a)
  ret <3 x float> %call
}


declare <3 x float> @_Z8_cl_fabsDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z4fabsDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z8_cl_fabsDv3_f(<3 x float> %a)
  ret <3 x float> %call
}


declare <3 x float> @_Z9_cl_floorDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z5floorDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z9_cl_floorDv3_f(<3 x float> %a)
  ret <3 x float> %call
}


declare <3 x float> @_Z10_cl_lgammaDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z6lgammaDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z10_cl_lgammaDv3_f(<3 x float> %a)
  ret <3 x float> %call
}


declare <3 x float> @_Z7_cl_logDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z3logDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z7_cl_logDv3_f(<3 x float> %a)
  ret <3 x float> %call
}


declare <3 x float> @_Z9_cl_log10Dv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z5log10Dv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z9_cl_log10Dv3_f(<3 x float> %a)
  ret <3 x float> %call
}


declare <3 x float> @_Z8_cl_log2Dv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z4log2Dv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z8_cl_log2Dv3_f(<3 x float> %a)
  ret <3 x float> %call
}


declare <3 x float> @_Z9_cl_log1pDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z5log1pDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z9_cl_log1pDv3_f(<3 x float> %a)
  ret <3 x float> %call
}


declare <3 x float> @_Z8_cl_logbDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z4logbDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z8_cl_logbDv3_f(<3 x float> %a)
  ret <3 x float> %call
}


declare <3 x float> @_Z8_cl_rintDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z4rintDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z8_cl_rintDv3_f(<3 x float> %a)
  ret <3 x float> %call
}


declare <3 x float> @_Z9_cl_roundDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z5roundDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z9_cl_roundDv3_f(<3 x float> %a)
  ret <3 x float> %call
}


declare <3 x float> @_Z9_cl_rsqrtDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z5rsqrtDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z9_cl_rsqrtDv3_f(<3 x float> %a)
  ret <3 x float> %call
}


declare <3 x float> @_Z7_cl_sinDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z3sinDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z7_cl_sinDv3_f(<3 x float> %a)
  ret <3 x float> %call
}


declare <3 x float> @_Z8_cl_sinhDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z4sinhDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z8_cl_sinhDv3_f(<3 x float> %a)
  ret <3 x float> %call
}


declare <3 x float> @_Z9_cl_sinpiDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z5sinpiDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z9_cl_sinpiDv3_f(<3 x float> %a)
  ret <3 x float> %call
}


declare <3 x float> @_Z8_cl_sqrtDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z4sqrtDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z8_cl_sqrtDv3_f(<3 x float> %a)
  ret <3 x float> %call
}


declare <3 x float> @_Z7_cl_tanDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z3tanDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z7_cl_tanDv3_f(<3 x float> %a)
  ret <3 x float> %call
}


declare <3 x float> @_Z8_cl_tanhDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z4tanhDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z8_cl_tanhDv3_f(<3 x float> %a)
  ret <3 x float> %call
}


declare <3 x float> @_Z9_cl_tanpiDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z5tanpiDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z9_cl_tanpiDv3_f(<3 x float> %a)
  ret <3 x float> %call
}


declare <3 x float> @_Z10_cl_tgammaDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z6tgammaDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z10_cl_tgammaDv3_f(<3 x float> %a)
  ret <3 x float> %call
}


declare <3 x float> @_Z9_cl_truncDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z5truncDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z9_cl_truncDv3_f(<3 x float> %a)
  ret <3 x float> %call
}


declare <3 x float> @_Z14_cl_native_cosDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z10native_cosDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z14_cl_native_cosDv3_f(<3 x float> %a)
  ret <3 x float> %call
}


declare <3 x float> @_Z14_cl_native_expDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z10native_expDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z14_cl_native_expDv3_f(<3 x float> %a)
  ret <3 x float> %call
}


declare <3 x float> @_Z15_cl_native_exp2Dv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z11native_exp2Dv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z15_cl_native_exp2Dv3_f(<3 x float> %a)
  ret <3 x float> %call
}


declare <3 x float> @_Z16_cl_native_exp10Dv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z12native_exp10Dv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z16_cl_native_exp10Dv3_f(<3 x float> %a)
  ret <3 x float> %call
}


declare <3 x float> @_Z14_cl_native_logDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z10native_logDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z14_cl_native_logDv3_f(<3 x float> %a)
  ret <3 x float> %call
}


declare <3 x float> @_Z15_cl_native_log2Dv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z11native_log2Dv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z15_cl_native_log2Dv3_f(<3 x float> %a)
  ret <3 x float> %call
}


declare <3 x float> @_Z16_cl_native_log10Dv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z12native_log10Dv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z16_cl_native_log10Dv3_f(<3 x float> %a)
  ret <3 x float> %call
}


declare <3 x float> @_Z16_cl_native_recipDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z12native_recipDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z16_cl_native_recipDv3_f(<3 x float> %a)
  ret <3 x float> %call
}


declare <3 x float> @_Z16_cl_native_rsqrtDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z12native_rsqrtDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z16_cl_native_rsqrtDv3_f(<3 x float> %a)
  ret <3 x float> %call
}


declare <3 x float> @_Z14_cl_native_sinDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z10native_sinDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z14_cl_native_sinDv3_f(<3 x float> %a)
  ret <3 x float> %call
}


declare <3 x float> @_Z15_cl_native_sqrtDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z11native_sqrtDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z15_cl_native_sqrtDv3_f(<3 x float> %a)
  ret <3 x float> %call
}


declare <3 x float> @_Z14_cl_native_tanDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z10native_tanDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z14_cl_native_tanDv3_f(<3 x float> %a)
  ret <3 x float> %call
}


declare <3 x float> @_Z11_cl_degreesDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z7degreesDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z11_cl_degreesDv3_f(<3 x float> %a)
  ret <3 x float> %call
}


declare <3 x float> @_Z11_cl_radiansDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z7radiansDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z11_cl_radiansDv3_f(<3 x float> %a)
  ret <3 x float> %call
}


declare <3 x float> @_Z8_cl_signDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z4signDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z8_cl_signDv3_f(<3 x float> %a)
  ret <3 x float> %call
}


declare <3 x float> @_Z9_cl_atan2Dv3_fS_(<3 x float>, <3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z5atan2Dv3_fS_(<3 x float> %a, <3 x float> %b) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z9_cl_atan2Dv3_fS_(<3 x float> %a, <3 x float> %b)
  ret <3 x float> %call
}


declare <3 x float> @_Z11_cl_atan2piDv3_fS_(<3 x float>, <3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z7atan2piDv3_fS_(<3 x float> %a, <3 x float> %b) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z11_cl_atan2piDv3_fS_(<3 x float> %a, <3 x float> %b)
  ret <3 x float> %call
}


declare <3 x float> @_Z12_cl_copysignDv3_fS_(<3 x float>, <3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z8copysignDv3_fS_(<3 x float> %a, <3 x float> %b) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z12_cl_copysignDv3_fS_(<3 x float> %a, <3 x float> %b)
  ret <3 x float> %call
}


declare <3 x float> @_Z8_cl_fdimDv3_fS_(<3 x float>, <3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z4fdimDv3_fS_(<3 x float> %a, <3 x float> %b) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z8_cl_fdimDv3_fS_(<3 x float> %a, <3 x float> %b)
  ret <3 x float> %call
}


declare <3 x float> @_Z8_cl_fmaxDv3_fS_(<3 x float>, <3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z4fmaxDv3_fS_(<3 x float> %a, <3 x float> %b) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z8_cl_fmaxDv3_fS_(<3 x float> %a, <3 x float> %b)
  ret <3 x float> %call
}


declare <3 x float> @_Z8_cl_fminDv3_fS_(<3 x float>, <3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z4fminDv3_fS_(<3 x float> %a, <3 x float> %b) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z8_cl_fminDv3_fS_(<3 x float> %a, <3 x float> %b)
  ret <3 x float> %call
}


declare <3 x float> @_Z8_cl_fmodDv3_fS_(<3 x float>, <3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z4fmodDv3_fS_(<3 x float> %a, <3 x float> %b) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z8_cl_fmodDv3_fS_(<3 x float> %a, <3 x float> %b)
  ret <3 x float> %call
}


declare <3 x float> @_Z9_cl_hypotDv3_fS_(<3 x float>, <3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z5hypotDv3_fS_(<3 x float> %a, <3 x float> %b) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z9_cl_hypotDv3_fS_(<3 x float> %a, <3 x float> %b)
  ret <3 x float> %call
}


declare <3 x float> @_Z13_cl_nextafterDv3_fS_(<3 x float>, <3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z9nextafterDv3_fS_(<3 x float> %a, <3 x float> %b) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z13_cl_nextafterDv3_fS_(<3 x float> %a, <3 x float> %b)
  ret <3 x float> %call
}


declare <3 x float> @_Z7_cl_powDv3_fS_(<3 x float>, <3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z3powDv3_fS_(<3 x float> %a, <3 x float> %b) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z7_cl_powDv3_fS_(<3 x float> %a, <3 x float> %b)
  ret <3 x float> %call
}


declare <3 x float> @_Z8_cl_powrDv3_fS_(<3 x float>, <3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z4powrDv3_fS_(<3 x float> %a, <3 x float> %b) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z8_cl_powrDv3_fS_(<3 x float> %a, <3 x float> %b)
  ret <3 x float> %call
}


declare <3 x float> @_Z10_cl_maxmagDv3_fS_(<3 x float>, <3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z6maxmagDv3_fS_(<3 x float> %a, <3 x float> %b) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z10_cl_maxmagDv3_fS_(<3 x float> %a, <3 x float> %b)
  ret <3 x float> %call
}


declare <3 x float> @_Z10_cl_minmagDv3_fS_(<3 x float>, <3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z6minmagDv3_fS_(<3 x float> %a, <3 x float> %b) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z10_cl_minmagDv3_fS_(<3 x float> %a, <3 x float> %b)
  ret <3 x float> %call
}


declare <3 x float> @_Z13_cl_remainderDv3_fS_(<3 x float>, <3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z9remainderDv3_fS_(<3 x float> %a, <3 x float> %b) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z13_cl_remainderDv3_fS_(<3 x float> %a, <3 x float> %b)
  ret <3 x float> %call
}


declare <3 x float> @_Z17_cl_native_divideDv3_fS_(<3 x float>, <3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z13native_divideDv3_fS_(<3 x float> %a, <3 x float> %b) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z17_cl_native_divideDv3_fS_(<3 x float> %a, <3 x float> %b)
  ret <3 x float> %call
}


declare <3 x float> @_Z15_cl_native_powrDv3_fS_(<3 x float>, <3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z11native_powrDv3_fS_(<3 x float> %a, <3 x float> %b) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z15_cl_native_powrDv3_fS_(<3 x float> %a, <3 x float> %b)
  ret <3 x float> %call
}


declare <3 x float> @_Z7_cl_maxDv3_fS_(<3 x float>, <3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z3maxDv3_fS_(<3 x float> %a, <3 x float> %b) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z7_cl_maxDv3_fS_(<3 x float> %a, <3 x float> %b)
  ret <3 x float> %call
}


declare <3 x float> @_Z7_cl_minDv3_fS_(<3 x float>, <3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z3minDv3_fS_(<3 x float> %a, <3 x float> %b) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z7_cl_minDv3_fS_(<3 x float> %a, <3 x float> %b)
  ret <3 x float> %call
}


declare <3 x float> @_Z8_cl_stepDv3_fS_(<3 x float>, <3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z4stepDv3_fS_(<3 x float> %a, <3 x float> %b) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z8_cl_stepDv3_fS_(<3 x float> %a, <3 x float> %b)
  ret <3 x float> %call
}


declare <3 x float> @_Z9_cl_fractDv3_fPU3AS1S_(<3 x float>, <3 x float> addrspace(1)*) local_unnamed_addr #0

define spir_func <3 x float> @_Z5fractDv3_fPU3AS1S_(<3 x float> %a, <3 x float> addrspace(1)* %b) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z9_cl_fractDv3_fPU3AS1S_(<3 x float> %a, <3 x float> addrspace(1)* %b)
  ret <3 x float> %call
}


declare <3 x float> @_Z9_cl_fractDv3_fPU3AS3S_(<3 x float>, <3 x float> addrspace(3)*) local_unnamed_addr #0

define spir_func <3 x float> @_Z5fractDv3_fPU3AS3S_(<3 x float> %a, <3 x float> addrspace(3)* %b) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z9_cl_fractDv3_fPU3AS3S_(<3 x float> %a, <3 x float> addrspace(3)* %b)
  ret <3 x float> %call
}


declare <3 x float> @_Z9_cl_fractDv3_fPS_(<3 x float>, <3 x float> *) local_unnamed_addr #0

define spir_func <3 x float> @_Z5fractDv3_fPS_(<3 x float> %a, <3 x float> * %b) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z9_cl_fractDv3_fPS_(<3 x float> %a, <3 x float> * %b)
  ret <3 x float> %call
}


declare <3 x float> @_Z10_cl_sincosDv3_fPU3AS1S_(<3 x float>, <3 x float> addrspace(1)*) local_unnamed_addr #0

define spir_func <3 x float> @_Z6sincosDv3_fPU3AS1S_(<3 x float> %a, <3 x float> addrspace(1)* %b) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z10_cl_sincosDv3_fPU3AS1S_(<3 x float> %a, <3 x float> addrspace(1)* %b)
  ret <3 x float> %call
}


declare <3 x float> @_Z10_cl_sincosDv3_fPU3AS3S_(<3 x float>, <3 x float> addrspace(3)*) local_unnamed_addr #0

define spir_func <3 x float> @_Z6sincosDv3_fPU3AS3S_(<3 x float> %a, <3 x float> addrspace(3)* %b) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z10_cl_sincosDv3_fPU3AS3S_(<3 x float> %a, <3 x float> addrspace(3)* %b)
  ret <3 x float> %call
}


declare <3 x float> @_Z10_cl_sincosDv3_fPS_(<3 x float>, <3 x float> *) local_unnamed_addr #0

define spir_func <3 x float> @_Z6sincosDv3_fPS_(<3 x float> %a, <3 x float> * %b) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z10_cl_sincosDv3_fPS_(<3 x float> %a, <3 x float> * %b)
  ret <3 x float> %call
}


declare <3 x float> @_Z8_cl_modfDv3_fPU3AS1S_(<3 x float>, <3 x float> addrspace(1)*) local_unnamed_addr #0

define spir_func <3 x float> @_Z4modfDv3_fPU3AS1S_(<3 x float> %a, <3 x float> addrspace(1)* %b) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z8_cl_modfDv3_fPU3AS1S_(<3 x float> %a, <3 x float> addrspace(1)* %b)
  ret <3 x float> %call
}


declare <3 x float> @_Z8_cl_modfDv3_fPU3AS3S_(<3 x float>, <3 x float> addrspace(3)*) local_unnamed_addr #0

define spir_func <3 x float> @_Z4modfDv3_fPU3AS3S_(<3 x float> %a, <3 x float> addrspace(3)* %b) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z8_cl_modfDv3_fPU3AS3S_(<3 x float> %a, <3 x float> addrspace(3)* %b)
  ret <3 x float> %call
}


declare <3 x float> @_Z8_cl_modfDv3_fPS_(<3 x float>, <3 x float> *) local_unnamed_addr #0

define spir_func <3 x float> @_Z4modfDv3_fPS_(<3 x float> %a, <3 x float> * %b) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z8_cl_modfDv3_fPS_(<3 x float> %a, <3 x float> * %b)
  ret <3 x float> %call
}


declare <3 x float> @_Z13_cl_bitselectDv3_fS_S_(<3 x float>, <3 x float>, <3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z9bitselectDv3_fS_S_(<3 x float> %a, <3 x float> %b, <3 x float> %c) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z13_cl_bitselectDv3_fS_S_(<3 x float> %a, <3 x float> %b, <3 x float> %c)
  ret <3 x float> %call
}


declare <3 x float> @_Z9_cl_clampDv3_fS_S_(<3 x float>, <3 x float>, <3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z5clampDv3_fS_S_(<3 x float> %a, <3 x float> %b, <3 x float> %c) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z9_cl_clampDv3_fS_S_(<3 x float> %a, <3 x float> %b, <3 x float> %c)
  ret <3 x float> %call
}


declare <3 x float> @_Z7_cl_fmaDv3_fS_S_(<3 x float>, <3 x float>, <3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z3fmaDv3_fS_S_(<3 x float> %a, <3 x float> %b, <3 x float> %c) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z7_cl_fmaDv3_fS_S_(<3 x float> %a, <3 x float> %b, <3 x float> %c)
  ret <3 x float> %call
}


declare <3 x float> @_Z7_cl_madDv3_fS_S_(<3 x float>, <3 x float>, <3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z3madDv3_fS_S_(<3 x float> %a, <3 x float> %b, <3 x float> %c) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z7_cl_madDv3_fS_S_(<3 x float> %a, <3 x float> %b, <3 x float> %c)
  ret <3 x float> %call
}


declare <3 x float> @_Z7_cl_mixDv3_fS_S_(<3 x float>, <3 x float>, <3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z3mixDv3_fS_S_(<3 x float> %a, <3 x float> %b, <3 x float> %c) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z7_cl_mixDv3_fS_S_(<3 x float> %a, <3 x float> %b, <3 x float> %c)
  ret <3 x float> %call
}


declare <3 x float> @_Z14_cl_smoothstepDv3_fS_S_(<3 x float>, <3 x float>, <3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z10smoothstepDv3_fS_S_(<3 x float> %a, <3 x float> %b, <3 x float> %c) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z14_cl_smoothstepDv3_fS_S_(<3 x float> %a, <3 x float> %b, <3 x float> %c)
  ret <3 x float> %call
}


declare i32 @_Z9_cl_ilogbDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func i32 @_Z5ilogbDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z9_cl_ilogbDv3_f(<3 x float> %a)
  ret i32 %call
}


declare <3 x float> @_Z9_cl_ldexpDv3_fDv3_i(<3 x float>, <3 x i32>) local_unnamed_addr #0

define spir_func <3 x float> @_Z5ldexpDv3_fDv3_i(<3 x float> %a, <3 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z9_cl_ldexpDv3_fDv3_i(<3 x float> %a, <3 x i32> %b)
  ret <3 x float> %call
}


declare <3 x float> @_Z8_cl_pownDv3_fDv3_i(<3 x float>, <3 x i32>) local_unnamed_addr #0

define spir_func <3 x float> @_Z4pownDv3_fDv3_i(<3 x float> %a, <3 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z8_cl_pownDv3_fDv3_i(<3 x float> %a, <3 x i32> %b)
  ret <3 x float> %call
}


declare <3 x float> @_Z9_cl_rootnDv3_fDv3_i(<3 x float>, <3 x i32>) local_unnamed_addr #0

define spir_func <3 x float> @_Z5rootnDv3_fDv3_i(<3 x float> %a, <3 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z9_cl_rootnDv3_fDv3_i(<3 x float> %a, <3 x i32> %b)
  ret <3 x float> %call
}


declare <3 x float> @_Z10_cl_remquoDv3_fS_PU3AS1Dv3_i(<3 x float>, <3 x float>, <3 x i32> addrspace(1)*) local_unnamed_addr #0

define spir_func <3 x float> @_Z6remquoDv3_fS_PU3AS1Dv3_i(<3 x float> %a, <3 x float> %b, <3 x i32> addrspace(1)* %c) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z10_cl_remquoDv3_fS_PU3AS1Dv3_i(<3 x float> %a, <3 x float> %b, <3 x i32> addrspace(1)* %c)
  ret <3 x float> %call
}


declare <3 x float> @_Z10_cl_remquoDv3_fS_PU3AS3Dv3_i(<3 x float>, <3 x float>, <3 x i32> addrspace(3)*) local_unnamed_addr #0

define spir_func <3 x float> @_Z6remquoDv3_fS_PU3AS3Dv3_i(<3 x float> %a, <3 x float> %b, <3 x i32> addrspace(3)* %c) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z10_cl_remquoDv3_fS_PU3AS3Dv3_i(<3 x float> %a, <3 x float> %b, <3 x i32> addrspace(3)* %c)
  ret <3 x float> %call
}


declare <3 x float> @_Z10_cl_remquoDv3_fS_PDv3_i(<3 x float>, <3 x float>, <3 x i32> *) local_unnamed_addr #0

define spir_func <3 x float> @_Z6remquoDv3_fS_PDv3_i(<3 x float> %a, <3 x float> %b, <3 x i32> * %c) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z10_cl_remquoDv3_fS_PDv3_i(<3 x float> %a, <3 x float> %b, <3 x i32> * %c)
  ret <3 x float> %call
}


declare <3 x float> @_Z7_cl_nanDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x float> @_Z3nanDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z7_cl_nanDv3_j(<3 x i32> %a)
  ret <3 x float> %call
}


declare <3 x float> @_Z12_cl_lgamma_rDv3_fPU3AS1Dv3_i(<3 x float>, <3 x i32> addrspace(1)*) local_unnamed_addr #0

define spir_func <3 x float> @_Z8lgamma_rDv3_fPU3AS1Dv3_i(<3 x float> %a, <3 x i32> addrspace(1)* %b) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z12_cl_lgamma_rDv3_fPU3AS1Dv3_i(<3 x float> %a, <3 x i32> addrspace(1)* %b)
  ret <3 x float> %call
}


declare <3 x float> @_Z12_cl_lgamma_rDv3_fPU3AS3Dv3_i(<3 x float>, <3 x i32> addrspace(3)*) local_unnamed_addr #0

define spir_func <3 x float> @_Z8lgamma_rDv3_fPU3AS3Dv3_i(<3 x float> %a, <3 x i32> addrspace(3)* %b) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z12_cl_lgamma_rDv3_fPU3AS3Dv3_i(<3 x float> %a, <3 x i32> addrspace(3)* %b)
  ret <3 x float> %call
}


declare <3 x float> @_Z12_cl_lgamma_rDv3_fPDv3_i(<3 x float>, <3 x i32> *) local_unnamed_addr #0

define spir_func <3 x float> @_Z8lgamma_rDv3_fPDv3_i(<3 x float> %a, <3 x i32> * %b) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z12_cl_lgamma_rDv3_fPDv3_i(<3 x float> %a, <3 x i32> * %b)
  ret <3 x float> %call
}


declare <3 x float> @_Z9_cl_frexpDv3_fPU3AS1Dv3_i(<3 x float>, <3 x i32> addrspace(1)*) local_unnamed_addr #0

define spir_func <3 x float> @_Z5frexpDv3_fPU3AS1Dv3_i(<3 x float> %a, <3 x i32> addrspace(1)* %b) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z9_cl_frexpDv3_fPU3AS1Dv3_i(<3 x float> %a, <3 x i32> addrspace(1)* %b)
  ret <3 x float> %call
}


declare <3 x float> @_Z9_cl_frexpDv3_fPU3AS3Dv3_i(<3 x float>, <3 x i32> addrspace(3)*) local_unnamed_addr #0

define spir_func <3 x float> @_Z5frexpDv3_fPU3AS3Dv3_i(<3 x float> %a, <3 x i32> addrspace(3)* %b) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z9_cl_frexpDv3_fPU3AS3Dv3_i(<3 x float> %a, <3 x i32> addrspace(3)* %b)
  ret <3 x float> %call
}


declare <3 x float> @_Z9_cl_frexpDv3_fPDv3_i(<3 x float>, <3 x i32> *) local_unnamed_addr #0

define spir_func <3 x float> @_Z5frexpDv3_fPDv3_i(<3 x float> %a, <3 x i32> * %b) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z9_cl_frexpDv3_fPDv3_i(<3 x float> %a, <3 x i32> * %b)
  ret <3 x float> %call
}


declare <3 x float> @_Z10_cl_selectDv3_fS_Dv3_i(<3 x float>, <3 x float>, <3 x i32>) local_unnamed_addr #0

define spir_func <3 x float> @_Z6selectDv3_fS_Dv3_i(<3 x float> %a, <3 x float> %b, <3 x i32> %c) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z10_cl_selectDv3_fS_Dv3_i(<3 x float> %a, <3 x float> %b, <3 x i32> %c)
  ret <3 x float> %call
}


declare <3 x float> @_Z10_cl_selectDv3_fS_Dv3_j(<3 x float>, <3 x float>, <3 x i32>) local_unnamed_addr #0

define spir_func <3 x float> @_Z6selectDv3_fS_Dv3_j(<3 x float> %a, <3 x float> %b, <3 x i32> %c) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z10_cl_selectDv3_fS_Dv3_j(<3 x float> %a, <3 x float> %b, <3 x i32> %c)
  ret <3 x float> %call
}


declare <3 x i32> @_Z11_cl_signbitDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z7signbitDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z11_cl_signbitDv3_f(<3 x float> %a)
  ret <3 x i32> %call
}


declare <3 x i32> @_Z11_cl_isequalDv3_fS_(<3 x float>, <3 x float>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z7isequalDv3_fS_(<3 x float> %a, <3 x float> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z11_cl_isequalDv3_fS_(<3 x float> %a, <3 x float> %b)
  ret <3 x i32> %call
}


declare <3 x i32> @_Z14_cl_isnotequalDv3_fS_(<3 x float>, <3 x float>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z10isnotequalDv3_fS_(<3 x float> %a, <3 x float> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z14_cl_isnotequalDv3_fS_(<3 x float> %a, <3 x float> %b)
  ret <3 x i32> %call
}


declare <3 x i32> @_Z13_cl_isgreaterDv3_fS_(<3 x float>, <3 x float>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z9isgreaterDv3_fS_(<3 x float> %a, <3 x float> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z13_cl_isgreaterDv3_fS_(<3 x float> %a, <3 x float> %b)
  ret <3 x i32> %call
}


declare <3 x i32> @_Z18_cl_isgreaterequalDv3_fS_(<3 x float>, <3 x float>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z14isgreaterequalDv3_fS_(<3 x float> %a, <3 x float> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z18_cl_isgreaterequalDv3_fS_(<3 x float> %a, <3 x float> %b)
  ret <3 x i32> %call
}


declare <3 x i32> @_Z10_cl_islessDv3_fS_(<3 x float>, <3 x float>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z6islessDv3_fS_(<3 x float> %a, <3 x float> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z10_cl_islessDv3_fS_(<3 x float> %a, <3 x float> %b)
  ret <3 x i32> %call
}


declare <3 x i32> @_Z15_cl_islessequalDv3_fS_(<3 x float>, <3 x float>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z11islessequalDv3_fS_(<3 x float> %a, <3 x float> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z15_cl_islessequalDv3_fS_(<3 x float> %a, <3 x float> %b)
  ret <3 x i32> %call
}


declare <3 x i32> @_Z17_cl_islessgreaterDv3_fS_(<3 x float>, <3 x float>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z13islessgreaterDv3_fS_(<3 x float> %a, <3 x float> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z17_cl_islessgreaterDv3_fS_(<3 x float> %a, <3 x float> %b)
  ret <3 x i32> %call
}


declare <3 x i32> @_Z12_cl_isfiniteDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z8isfiniteDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z12_cl_isfiniteDv3_f(<3 x float> %a)
  ret <3 x i32> %call
}


declare <3 x i32> @_Z9_cl_isinfDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z5isinfDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z9_cl_isinfDv3_f(<3 x float> %a)
  ret <3 x i32> %call
}


declare <3 x i32> @_Z9_cl_isnanDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z5isnanDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z9_cl_isnanDv3_f(<3 x float> %a)
  ret <3 x i32> %call
}


declare <3 x i32> @_Z12_cl_isnormalDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z8isnormalDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z12_cl_isnormalDv3_f(<3 x float> %a)
  ret <3 x i32> %call
}


declare <3 x i32> @_Z13_cl_isorderedDv3_fS_(<3 x float>, <3 x float>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z9isorderedDv3_fS_(<3 x float> %a, <3 x float> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z13_cl_isorderedDv3_fS_(<3 x float> %a, <3 x float> %b)
  ret <3 x i32> %call
}


declare <3 x i32> @_Z15_cl_isunorderedDv3_fS_(<3 x float>, <3 x float>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z11isunorderedDv3_fS_(<3 x float> %a, <3 x float> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z15_cl_isunorderedDv3_fS_(<3 x float> %a, <3 x float> %b)
  ret <3 x i32> %call
}


declare <4 x float> @_Z8_cl_acosDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z4acosDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z8_cl_acosDv4_f(<4 x float> %a)
  ret <4 x float> %call
}


declare <4 x float> @_Z9_cl_acoshDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z5acoshDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z9_cl_acoshDv4_f(<4 x float> %a)
  ret <4 x float> %call
}


declare <4 x float> @_Z10_cl_acospiDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z6acospiDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z10_cl_acospiDv4_f(<4 x float> %a)
  ret <4 x float> %call
}


declare <4 x float> @_Z8_cl_asinDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z4asinDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z8_cl_asinDv4_f(<4 x float> %a)
  ret <4 x float> %call
}


declare <4 x float> @_Z9_cl_asinhDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z5asinhDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z9_cl_asinhDv4_f(<4 x float> %a)
  ret <4 x float> %call
}


declare <4 x float> @_Z10_cl_asinpiDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z6asinpiDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z10_cl_asinpiDv4_f(<4 x float> %a)
  ret <4 x float> %call
}


declare <4 x float> @_Z8_cl_atanDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z4atanDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z8_cl_atanDv4_f(<4 x float> %a)
  ret <4 x float> %call
}


declare <4 x float> @_Z9_cl_atanhDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z5atanhDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z9_cl_atanhDv4_f(<4 x float> %a)
  ret <4 x float> %call
}


declare <4 x float> @_Z10_cl_atanpiDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z6atanpiDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z10_cl_atanpiDv4_f(<4 x float> %a)
  ret <4 x float> %call
}


declare <4 x float> @_Z8_cl_cbrtDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z4cbrtDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z8_cl_cbrtDv4_f(<4 x float> %a)
  ret <4 x float> %call
}


declare <4 x float> @_Z8_cl_ceilDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z4ceilDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z8_cl_ceilDv4_f(<4 x float> %a)
  ret <4 x float> %call
}


declare <4 x float> @_Z7_cl_cosDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z3cosDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z7_cl_cosDv4_f(<4 x float> %a)
  ret <4 x float> %call
}


declare <4 x float> @_Z8_cl_coshDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z4coshDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z8_cl_coshDv4_f(<4 x float> %a)
  ret <4 x float> %call
}


declare <4 x float> @_Z9_cl_cospiDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z5cospiDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z9_cl_cospiDv4_f(<4 x float> %a)
  ret <4 x float> %call
}


declare <4 x float> @_Z8_cl_erfcDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z4erfcDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z8_cl_erfcDv4_f(<4 x float> %a)
  ret <4 x float> %call
}


declare <4 x float> @_Z7_cl_erfDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z3erfDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z7_cl_erfDv4_f(<4 x float> %a)
  ret <4 x float> %call
}


declare <4 x float> @_Z7_cl_expDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z3expDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z7_cl_expDv4_f(<4 x float> %a)
  ret <4 x float> %call
}


declare <4 x float> @_Z8_cl_exp2Dv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z4exp2Dv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z8_cl_exp2Dv4_f(<4 x float> %a)
  ret <4 x float> %call
}


declare <4 x float> @_Z9_cl_exp10Dv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z5exp10Dv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z9_cl_exp10Dv4_f(<4 x float> %a)
  ret <4 x float> %call
}


declare <4 x float> @_Z9_cl_expm1Dv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z5expm1Dv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z9_cl_expm1Dv4_f(<4 x float> %a)
  ret <4 x float> %call
}


declare <4 x float> @_Z8_cl_fabsDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z4fabsDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z8_cl_fabsDv4_f(<4 x float> %a)
  ret <4 x float> %call
}


declare <4 x float> @_Z9_cl_floorDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z5floorDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z9_cl_floorDv4_f(<4 x float> %a)
  ret <4 x float> %call
}


declare <4 x float> @_Z10_cl_lgammaDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z6lgammaDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z10_cl_lgammaDv4_f(<4 x float> %a)
  ret <4 x float> %call
}


declare <4 x float> @_Z7_cl_logDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z3logDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z7_cl_logDv4_f(<4 x float> %a)
  ret <4 x float> %call
}


declare <4 x float> @_Z9_cl_log10Dv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z5log10Dv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z9_cl_log10Dv4_f(<4 x float> %a)
  ret <4 x float> %call
}


declare <4 x float> @_Z8_cl_log2Dv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z4log2Dv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z8_cl_log2Dv4_f(<4 x float> %a)
  ret <4 x float> %call
}


declare <4 x float> @_Z9_cl_log1pDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z5log1pDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z9_cl_log1pDv4_f(<4 x float> %a)
  ret <4 x float> %call
}


declare <4 x float> @_Z8_cl_logbDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z4logbDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z8_cl_logbDv4_f(<4 x float> %a)
  ret <4 x float> %call
}


declare <4 x float> @_Z8_cl_rintDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z4rintDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z8_cl_rintDv4_f(<4 x float> %a)
  ret <4 x float> %call
}


declare <4 x float> @_Z9_cl_roundDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z5roundDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z9_cl_roundDv4_f(<4 x float> %a)
  ret <4 x float> %call
}


declare <4 x float> @_Z9_cl_rsqrtDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z5rsqrtDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z9_cl_rsqrtDv4_f(<4 x float> %a)
  ret <4 x float> %call
}


declare <4 x float> @_Z7_cl_sinDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z3sinDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z7_cl_sinDv4_f(<4 x float> %a)
  ret <4 x float> %call
}


declare <4 x float> @_Z8_cl_sinhDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z4sinhDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z8_cl_sinhDv4_f(<4 x float> %a)
  ret <4 x float> %call
}


declare <4 x float> @_Z9_cl_sinpiDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z5sinpiDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z9_cl_sinpiDv4_f(<4 x float> %a)
  ret <4 x float> %call
}


declare <4 x float> @_Z8_cl_sqrtDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z4sqrtDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z8_cl_sqrtDv4_f(<4 x float> %a)
  ret <4 x float> %call
}


declare <4 x float> @_Z7_cl_tanDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z3tanDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z7_cl_tanDv4_f(<4 x float> %a)
  ret <4 x float> %call
}


declare <4 x float> @_Z8_cl_tanhDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z4tanhDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z8_cl_tanhDv4_f(<4 x float> %a)
  ret <4 x float> %call
}


declare <4 x float> @_Z9_cl_tanpiDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z5tanpiDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z9_cl_tanpiDv4_f(<4 x float> %a)
  ret <4 x float> %call
}


declare <4 x float> @_Z10_cl_tgammaDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z6tgammaDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z10_cl_tgammaDv4_f(<4 x float> %a)
  ret <4 x float> %call
}


declare <4 x float> @_Z9_cl_truncDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z5truncDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z9_cl_truncDv4_f(<4 x float> %a)
  ret <4 x float> %call
}


declare <4 x float> @_Z14_cl_native_cosDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z10native_cosDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z14_cl_native_cosDv4_f(<4 x float> %a)
  ret <4 x float> %call
}


declare <4 x float> @_Z14_cl_native_expDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z10native_expDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z14_cl_native_expDv4_f(<4 x float> %a)
  ret <4 x float> %call
}


declare <4 x float> @_Z15_cl_native_exp2Dv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z11native_exp2Dv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z15_cl_native_exp2Dv4_f(<4 x float> %a)
  ret <4 x float> %call
}


declare <4 x float> @_Z16_cl_native_exp10Dv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z12native_exp10Dv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z16_cl_native_exp10Dv4_f(<4 x float> %a)
  ret <4 x float> %call
}


declare <4 x float> @_Z14_cl_native_logDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z10native_logDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z14_cl_native_logDv4_f(<4 x float> %a)
  ret <4 x float> %call
}


declare <4 x float> @_Z15_cl_native_log2Dv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z11native_log2Dv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z15_cl_native_log2Dv4_f(<4 x float> %a)
  ret <4 x float> %call
}


declare <4 x float> @_Z16_cl_native_log10Dv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z12native_log10Dv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z16_cl_native_log10Dv4_f(<4 x float> %a)
  ret <4 x float> %call
}


declare <4 x float> @_Z16_cl_native_recipDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z12native_recipDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z16_cl_native_recipDv4_f(<4 x float> %a)
  ret <4 x float> %call
}


declare <4 x float> @_Z16_cl_native_rsqrtDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z12native_rsqrtDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z16_cl_native_rsqrtDv4_f(<4 x float> %a)
  ret <4 x float> %call
}


declare <4 x float> @_Z14_cl_native_sinDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z10native_sinDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z14_cl_native_sinDv4_f(<4 x float> %a)
  ret <4 x float> %call
}


declare <4 x float> @_Z15_cl_native_sqrtDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z11native_sqrtDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z15_cl_native_sqrtDv4_f(<4 x float> %a)
  ret <4 x float> %call
}


declare <4 x float> @_Z14_cl_native_tanDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z10native_tanDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z14_cl_native_tanDv4_f(<4 x float> %a)
  ret <4 x float> %call
}


declare <4 x float> @_Z11_cl_degreesDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z7degreesDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z11_cl_degreesDv4_f(<4 x float> %a)
  ret <4 x float> %call
}


declare <4 x float> @_Z11_cl_radiansDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z7radiansDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z11_cl_radiansDv4_f(<4 x float> %a)
  ret <4 x float> %call
}


declare <4 x float> @_Z8_cl_signDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z4signDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z8_cl_signDv4_f(<4 x float> %a)
  ret <4 x float> %call
}


declare <4 x float> @_Z9_cl_atan2Dv4_fS_(<4 x float>, <4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z5atan2Dv4_fS_(<4 x float> %a, <4 x float> %b) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z9_cl_atan2Dv4_fS_(<4 x float> %a, <4 x float> %b)
  ret <4 x float> %call
}


declare <4 x float> @_Z11_cl_atan2piDv4_fS_(<4 x float>, <4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z7atan2piDv4_fS_(<4 x float> %a, <4 x float> %b) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z11_cl_atan2piDv4_fS_(<4 x float> %a, <4 x float> %b)
  ret <4 x float> %call
}


declare <4 x float> @_Z12_cl_copysignDv4_fS_(<4 x float>, <4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z8copysignDv4_fS_(<4 x float> %a, <4 x float> %b) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z12_cl_copysignDv4_fS_(<4 x float> %a, <4 x float> %b)
  ret <4 x float> %call
}


declare <4 x float> @_Z8_cl_fdimDv4_fS_(<4 x float>, <4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z4fdimDv4_fS_(<4 x float> %a, <4 x float> %b) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z8_cl_fdimDv4_fS_(<4 x float> %a, <4 x float> %b)
  ret <4 x float> %call
}


declare <4 x float> @_Z8_cl_fmaxDv4_fS_(<4 x float>, <4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z4fmaxDv4_fS_(<4 x float> %a, <4 x float> %b) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z8_cl_fmaxDv4_fS_(<4 x float> %a, <4 x float> %b)
  ret <4 x float> %call
}


declare <4 x float> @_Z8_cl_fminDv4_fS_(<4 x float>, <4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z4fminDv4_fS_(<4 x float> %a, <4 x float> %b) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z8_cl_fminDv4_fS_(<4 x float> %a, <4 x float> %b)
  ret <4 x float> %call
}


declare <4 x float> @_Z8_cl_fmodDv4_fS_(<4 x float>, <4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z4fmodDv4_fS_(<4 x float> %a, <4 x float> %b) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z8_cl_fmodDv4_fS_(<4 x float> %a, <4 x float> %b)
  ret <4 x float> %call
}


declare <4 x float> @_Z9_cl_hypotDv4_fS_(<4 x float>, <4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z5hypotDv4_fS_(<4 x float> %a, <4 x float> %b) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z9_cl_hypotDv4_fS_(<4 x float> %a, <4 x float> %b)
  ret <4 x float> %call
}


declare <4 x float> @_Z13_cl_nextafterDv4_fS_(<4 x float>, <4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z9nextafterDv4_fS_(<4 x float> %a, <4 x float> %b) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z13_cl_nextafterDv4_fS_(<4 x float> %a, <4 x float> %b)
  ret <4 x float> %call
}


declare <4 x float> @_Z7_cl_powDv4_fS_(<4 x float>, <4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z3powDv4_fS_(<4 x float> %a, <4 x float> %b) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z7_cl_powDv4_fS_(<4 x float> %a, <4 x float> %b)
  ret <4 x float> %call
}


declare <4 x float> @_Z8_cl_powrDv4_fS_(<4 x float>, <4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z4powrDv4_fS_(<4 x float> %a, <4 x float> %b) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z8_cl_powrDv4_fS_(<4 x float> %a, <4 x float> %b)
  ret <4 x float> %call
}


declare <4 x float> @_Z10_cl_maxmagDv4_fS_(<4 x float>, <4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z6maxmagDv4_fS_(<4 x float> %a, <4 x float> %b) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z10_cl_maxmagDv4_fS_(<4 x float> %a, <4 x float> %b)
  ret <4 x float> %call
}


declare <4 x float> @_Z10_cl_minmagDv4_fS_(<4 x float>, <4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z6minmagDv4_fS_(<4 x float> %a, <4 x float> %b) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z10_cl_minmagDv4_fS_(<4 x float> %a, <4 x float> %b)
  ret <4 x float> %call
}


declare <4 x float> @_Z13_cl_remainderDv4_fS_(<4 x float>, <4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z9remainderDv4_fS_(<4 x float> %a, <4 x float> %b) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z13_cl_remainderDv4_fS_(<4 x float> %a, <4 x float> %b)
  ret <4 x float> %call
}


declare <4 x float> @_Z17_cl_native_divideDv4_fS_(<4 x float>, <4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z13native_divideDv4_fS_(<4 x float> %a, <4 x float> %b) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z17_cl_native_divideDv4_fS_(<4 x float> %a, <4 x float> %b)
  ret <4 x float> %call
}


declare <4 x float> @_Z15_cl_native_powrDv4_fS_(<4 x float>, <4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z11native_powrDv4_fS_(<4 x float> %a, <4 x float> %b) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z15_cl_native_powrDv4_fS_(<4 x float> %a, <4 x float> %b)
  ret <4 x float> %call
}


declare <4 x float> @_Z7_cl_maxDv4_fS_(<4 x float>, <4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z3maxDv4_fS_(<4 x float> %a, <4 x float> %b) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z7_cl_maxDv4_fS_(<4 x float> %a, <4 x float> %b)
  ret <4 x float> %call
}


declare <4 x float> @_Z7_cl_minDv4_fS_(<4 x float>, <4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z3minDv4_fS_(<4 x float> %a, <4 x float> %b) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z7_cl_minDv4_fS_(<4 x float> %a, <4 x float> %b)
  ret <4 x float> %call
}


declare <4 x float> @_Z8_cl_stepDv4_fS_(<4 x float>, <4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z4stepDv4_fS_(<4 x float> %a, <4 x float> %b) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z8_cl_stepDv4_fS_(<4 x float> %a, <4 x float> %b)
  ret <4 x float> %call
}


declare <4 x float> @_Z9_cl_fractDv4_fPU3AS1S_(<4 x float>, <4 x float> addrspace(1)*) local_unnamed_addr #0

define spir_func <4 x float> @_Z5fractDv4_fPU3AS1S_(<4 x float> %a, <4 x float> addrspace(1)* %b) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z9_cl_fractDv4_fPU3AS1S_(<4 x float> %a, <4 x float> addrspace(1)* %b)
  ret <4 x float> %call
}


declare <4 x float> @_Z9_cl_fractDv4_fPU3AS3S_(<4 x float>, <4 x float> addrspace(3)*) local_unnamed_addr #0

define spir_func <4 x float> @_Z5fractDv4_fPU3AS3S_(<4 x float> %a, <4 x float> addrspace(3)* %b) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z9_cl_fractDv4_fPU3AS3S_(<4 x float> %a, <4 x float> addrspace(3)* %b)
  ret <4 x float> %call
}


declare <4 x float> @_Z9_cl_fractDv4_fPS_(<4 x float>, <4 x float> *) local_unnamed_addr #0

define spir_func <4 x float> @_Z5fractDv4_fPS_(<4 x float> %a, <4 x float> * %b) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z9_cl_fractDv4_fPS_(<4 x float> %a, <4 x float> * %b)
  ret <4 x float> %call
}


declare <4 x float> @_Z10_cl_sincosDv4_fPU3AS1S_(<4 x float>, <4 x float> addrspace(1)*) local_unnamed_addr #0

define spir_func <4 x float> @_Z6sincosDv4_fPU3AS1S_(<4 x float> %a, <4 x float> addrspace(1)* %b) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z10_cl_sincosDv4_fPU3AS1S_(<4 x float> %a, <4 x float> addrspace(1)* %b)
  ret <4 x float> %call
}


declare <4 x float> @_Z10_cl_sincosDv4_fPU3AS3S_(<4 x float>, <4 x float> addrspace(3)*) local_unnamed_addr #0

define spir_func <4 x float> @_Z6sincosDv4_fPU3AS3S_(<4 x float> %a, <4 x float> addrspace(3)* %b) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z10_cl_sincosDv4_fPU3AS3S_(<4 x float> %a, <4 x float> addrspace(3)* %b)
  ret <4 x float> %call
}


declare <4 x float> @_Z10_cl_sincosDv4_fPS_(<4 x float>, <4 x float> *) local_unnamed_addr #0

define spir_func <4 x float> @_Z6sincosDv4_fPS_(<4 x float> %a, <4 x float> * %b) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z10_cl_sincosDv4_fPS_(<4 x float> %a, <4 x float> * %b)
  ret <4 x float> %call
}


declare <4 x float> @_Z8_cl_modfDv4_fPU3AS1S_(<4 x float>, <4 x float> addrspace(1)*) local_unnamed_addr #0

define spir_func <4 x float> @_Z4modfDv4_fPU3AS1S_(<4 x float> %a, <4 x float> addrspace(1)* %b) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z8_cl_modfDv4_fPU3AS1S_(<4 x float> %a, <4 x float> addrspace(1)* %b)
  ret <4 x float> %call
}


declare <4 x float> @_Z8_cl_modfDv4_fPU3AS3S_(<4 x float>, <4 x float> addrspace(3)*) local_unnamed_addr #0

define spir_func <4 x float> @_Z4modfDv4_fPU3AS3S_(<4 x float> %a, <4 x float> addrspace(3)* %b) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z8_cl_modfDv4_fPU3AS3S_(<4 x float> %a, <4 x float> addrspace(3)* %b)
  ret <4 x float> %call
}


declare <4 x float> @_Z8_cl_modfDv4_fPS_(<4 x float>, <4 x float> *) local_unnamed_addr #0

define spir_func <4 x float> @_Z4modfDv4_fPS_(<4 x float> %a, <4 x float> * %b) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z8_cl_modfDv4_fPS_(<4 x float> %a, <4 x float> * %b)
  ret <4 x float> %call
}


declare <4 x float> @_Z13_cl_bitselectDv4_fS_S_(<4 x float>, <4 x float>, <4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z9bitselectDv4_fS_S_(<4 x float> %a, <4 x float> %b, <4 x float> %c) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z13_cl_bitselectDv4_fS_S_(<4 x float> %a, <4 x float> %b, <4 x float> %c)
  ret <4 x float> %call
}


declare <4 x float> @_Z9_cl_clampDv4_fS_S_(<4 x float>, <4 x float>, <4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z5clampDv4_fS_S_(<4 x float> %a, <4 x float> %b, <4 x float> %c) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z9_cl_clampDv4_fS_S_(<4 x float> %a, <4 x float> %b, <4 x float> %c)
  ret <4 x float> %call
}


declare <4 x float> @_Z7_cl_fmaDv4_fS_S_(<4 x float>, <4 x float>, <4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z3fmaDv4_fS_S_(<4 x float> %a, <4 x float> %b, <4 x float> %c) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z7_cl_fmaDv4_fS_S_(<4 x float> %a, <4 x float> %b, <4 x float> %c)
  ret <4 x float> %call
}


declare <4 x float> @_Z7_cl_madDv4_fS_S_(<4 x float>, <4 x float>, <4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z3madDv4_fS_S_(<4 x float> %a, <4 x float> %b, <4 x float> %c) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z7_cl_madDv4_fS_S_(<4 x float> %a, <4 x float> %b, <4 x float> %c)
  ret <4 x float> %call
}


declare <4 x float> @_Z7_cl_mixDv4_fS_S_(<4 x float>, <4 x float>, <4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z3mixDv4_fS_S_(<4 x float> %a, <4 x float> %b, <4 x float> %c) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z7_cl_mixDv4_fS_S_(<4 x float> %a, <4 x float> %b, <4 x float> %c)
  ret <4 x float> %call
}


declare <4 x float> @_Z14_cl_smoothstepDv4_fS_S_(<4 x float>, <4 x float>, <4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z10smoothstepDv4_fS_S_(<4 x float> %a, <4 x float> %b, <4 x float> %c) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z14_cl_smoothstepDv4_fS_S_(<4 x float> %a, <4 x float> %b, <4 x float> %c)
  ret <4 x float> %call
}


declare i32 @_Z9_cl_ilogbDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func i32 @_Z5ilogbDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z9_cl_ilogbDv4_f(<4 x float> %a)
  ret i32 %call
}


declare <4 x float> @_Z9_cl_ldexpDv4_fDv4_i(<4 x float>, <4 x i32>) local_unnamed_addr #0

define spir_func <4 x float> @_Z5ldexpDv4_fDv4_i(<4 x float> %a, <4 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z9_cl_ldexpDv4_fDv4_i(<4 x float> %a, <4 x i32> %b)
  ret <4 x float> %call
}


declare <4 x float> @_Z8_cl_pownDv4_fDv4_i(<4 x float>, <4 x i32>) local_unnamed_addr #0

define spir_func <4 x float> @_Z4pownDv4_fDv4_i(<4 x float> %a, <4 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z8_cl_pownDv4_fDv4_i(<4 x float> %a, <4 x i32> %b)
  ret <4 x float> %call
}


declare <4 x float> @_Z9_cl_rootnDv4_fDv4_i(<4 x float>, <4 x i32>) local_unnamed_addr #0

define spir_func <4 x float> @_Z5rootnDv4_fDv4_i(<4 x float> %a, <4 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z9_cl_rootnDv4_fDv4_i(<4 x float> %a, <4 x i32> %b)
  ret <4 x float> %call
}


declare <4 x float> @_Z10_cl_remquoDv4_fS_PU3AS1Dv4_i(<4 x float>, <4 x float>, <4 x i32> addrspace(1)*) local_unnamed_addr #0

define spir_func <4 x float> @_Z6remquoDv4_fS_PU3AS1Dv4_i(<4 x float> %a, <4 x float> %b, <4 x i32> addrspace(1)* %c) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z10_cl_remquoDv4_fS_PU3AS1Dv4_i(<4 x float> %a, <4 x float> %b, <4 x i32> addrspace(1)* %c)
  ret <4 x float> %call
}


declare <4 x float> @_Z10_cl_remquoDv4_fS_PU3AS3Dv4_i(<4 x float>, <4 x float>, <4 x i32> addrspace(3)*) local_unnamed_addr #0

define spir_func <4 x float> @_Z6remquoDv4_fS_PU3AS3Dv4_i(<4 x float> %a, <4 x float> %b, <4 x i32> addrspace(3)* %c) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z10_cl_remquoDv4_fS_PU3AS3Dv4_i(<4 x float> %a, <4 x float> %b, <4 x i32> addrspace(3)* %c)
  ret <4 x float> %call
}


declare <4 x float> @_Z10_cl_remquoDv4_fS_PDv4_i(<4 x float>, <4 x float>, <4 x i32> *) local_unnamed_addr #0

define spir_func <4 x float> @_Z6remquoDv4_fS_PDv4_i(<4 x float> %a, <4 x float> %b, <4 x i32> * %c) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z10_cl_remquoDv4_fS_PDv4_i(<4 x float> %a, <4 x float> %b, <4 x i32> * %c)
  ret <4 x float> %call
}


declare <4 x float> @_Z7_cl_nanDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x float> @_Z3nanDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z7_cl_nanDv4_j(<4 x i32> %a)
  ret <4 x float> %call
}


declare <4 x float> @_Z12_cl_lgamma_rDv4_fPU3AS1Dv4_i(<4 x float>, <4 x i32> addrspace(1)*) local_unnamed_addr #0

define spir_func <4 x float> @_Z8lgamma_rDv4_fPU3AS1Dv4_i(<4 x float> %a, <4 x i32> addrspace(1)* %b) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z12_cl_lgamma_rDv4_fPU3AS1Dv4_i(<4 x float> %a, <4 x i32> addrspace(1)* %b)
  ret <4 x float> %call
}


declare <4 x float> @_Z12_cl_lgamma_rDv4_fPU3AS3Dv4_i(<4 x float>, <4 x i32> addrspace(3)*) local_unnamed_addr #0

define spir_func <4 x float> @_Z8lgamma_rDv4_fPU3AS3Dv4_i(<4 x float> %a, <4 x i32> addrspace(3)* %b) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z12_cl_lgamma_rDv4_fPU3AS3Dv4_i(<4 x float> %a, <4 x i32> addrspace(3)* %b)
  ret <4 x float> %call
}


declare <4 x float> @_Z12_cl_lgamma_rDv4_fPDv4_i(<4 x float>, <4 x i32> *) local_unnamed_addr #0

define spir_func <4 x float> @_Z8lgamma_rDv4_fPDv4_i(<4 x float> %a, <4 x i32> * %b) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z12_cl_lgamma_rDv4_fPDv4_i(<4 x float> %a, <4 x i32> * %b)
  ret <4 x float> %call
}


declare <4 x float> @_Z9_cl_frexpDv4_fPU3AS1Dv4_i(<4 x float>, <4 x i32> addrspace(1)*) local_unnamed_addr #0

define spir_func <4 x float> @_Z5frexpDv4_fPU3AS1Dv4_i(<4 x float> %a, <4 x i32> addrspace(1)* %b) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z9_cl_frexpDv4_fPU3AS1Dv4_i(<4 x float> %a, <4 x i32> addrspace(1)* %b)
  ret <4 x float> %call
}


declare <4 x float> @_Z9_cl_frexpDv4_fPU3AS3Dv4_i(<4 x float>, <4 x i32> addrspace(3)*) local_unnamed_addr #0

define spir_func <4 x float> @_Z5frexpDv4_fPU3AS3Dv4_i(<4 x float> %a, <4 x i32> addrspace(3)* %b) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z9_cl_frexpDv4_fPU3AS3Dv4_i(<4 x float> %a, <4 x i32> addrspace(3)* %b)
  ret <4 x float> %call
}


declare <4 x float> @_Z9_cl_frexpDv4_fPDv4_i(<4 x float>, <4 x i32> *) local_unnamed_addr #0

define spir_func <4 x float> @_Z5frexpDv4_fPDv4_i(<4 x float> %a, <4 x i32> * %b) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z9_cl_frexpDv4_fPDv4_i(<4 x float> %a, <4 x i32> * %b)
  ret <4 x float> %call
}


declare <4 x float> @_Z10_cl_selectDv4_fS_Dv4_i(<4 x float>, <4 x float>, <4 x i32>) local_unnamed_addr #0

define spir_func <4 x float> @_Z6selectDv4_fS_Dv4_i(<4 x float> %a, <4 x float> %b, <4 x i32> %c) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z10_cl_selectDv4_fS_Dv4_i(<4 x float> %a, <4 x float> %b, <4 x i32> %c)
  ret <4 x float> %call
}


declare <4 x float> @_Z10_cl_selectDv4_fS_Dv4_j(<4 x float>, <4 x float>, <4 x i32>) local_unnamed_addr #0

define spir_func <4 x float> @_Z6selectDv4_fS_Dv4_j(<4 x float> %a, <4 x float> %b, <4 x i32> %c) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z10_cl_selectDv4_fS_Dv4_j(<4 x float> %a, <4 x float> %b, <4 x i32> %c)
  ret <4 x float> %call
}


declare <4 x i32> @_Z11_cl_signbitDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z7signbitDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z11_cl_signbitDv4_f(<4 x float> %a)
  ret <4 x i32> %call
}


declare <4 x i32> @_Z11_cl_isequalDv4_fS_(<4 x float>, <4 x float>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z7isequalDv4_fS_(<4 x float> %a, <4 x float> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z11_cl_isequalDv4_fS_(<4 x float> %a, <4 x float> %b)
  ret <4 x i32> %call
}


declare <4 x i32> @_Z14_cl_isnotequalDv4_fS_(<4 x float>, <4 x float>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z10isnotequalDv4_fS_(<4 x float> %a, <4 x float> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z14_cl_isnotequalDv4_fS_(<4 x float> %a, <4 x float> %b)
  ret <4 x i32> %call
}


declare <4 x i32> @_Z13_cl_isgreaterDv4_fS_(<4 x float>, <4 x float>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z9isgreaterDv4_fS_(<4 x float> %a, <4 x float> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z13_cl_isgreaterDv4_fS_(<4 x float> %a, <4 x float> %b)
  ret <4 x i32> %call
}


declare <4 x i32> @_Z18_cl_isgreaterequalDv4_fS_(<4 x float>, <4 x float>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z14isgreaterequalDv4_fS_(<4 x float> %a, <4 x float> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z18_cl_isgreaterequalDv4_fS_(<4 x float> %a, <4 x float> %b)
  ret <4 x i32> %call
}


declare <4 x i32> @_Z10_cl_islessDv4_fS_(<4 x float>, <4 x float>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z6islessDv4_fS_(<4 x float> %a, <4 x float> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z10_cl_islessDv4_fS_(<4 x float> %a, <4 x float> %b)
  ret <4 x i32> %call
}


declare <4 x i32> @_Z15_cl_islessequalDv4_fS_(<4 x float>, <4 x float>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z11islessequalDv4_fS_(<4 x float> %a, <4 x float> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z15_cl_islessequalDv4_fS_(<4 x float> %a, <4 x float> %b)
  ret <4 x i32> %call
}


declare <4 x i32> @_Z17_cl_islessgreaterDv4_fS_(<4 x float>, <4 x float>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z13islessgreaterDv4_fS_(<4 x float> %a, <4 x float> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z17_cl_islessgreaterDv4_fS_(<4 x float> %a, <4 x float> %b)
  ret <4 x i32> %call
}


declare <4 x i32> @_Z12_cl_isfiniteDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z8isfiniteDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z12_cl_isfiniteDv4_f(<4 x float> %a)
  ret <4 x i32> %call
}


declare <4 x i32> @_Z9_cl_isinfDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z5isinfDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z9_cl_isinfDv4_f(<4 x float> %a)
  ret <4 x i32> %call
}


declare <4 x i32> @_Z9_cl_isnanDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z5isnanDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z9_cl_isnanDv4_f(<4 x float> %a)
  ret <4 x i32> %call
}


declare <4 x i32> @_Z12_cl_isnormalDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z8isnormalDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z12_cl_isnormalDv4_f(<4 x float> %a)
  ret <4 x i32> %call
}


declare <4 x i32> @_Z13_cl_isorderedDv4_fS_(<4 x float>, <4 x float>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z9isorderedDv4_fS_(<4 x float> %a, <4 x float> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z13_cl_isorderedDv4_fS_(<4 x float> %a, <4 x float> %b)
  ret <4 x i32> %call
}


declare <4 x i32> @_Z15_cl_isunorderedDv4_fS_(<4 x float>, <4 x float>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z11isunorderedDv4_fS_(<4 x float> %a, <4 x float> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z15_cl_isunorderedDv4_fS_(<4 x float> %a, <4 x float> %b)
  ret <4 x i32> %call
}


declare <8 x float> @_Z8_cl_acosDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z4acosDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z8_cl_acosDv8_f(<8 x float> %a)
  ret <8 x float> %call
}


declare <8 x float> @_Z9_cl_acoshDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z5acoshDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z9_cl_acoshDv8_f(<8 x float> %a)
  ret <8 x float> %call
}


declare <8 x float> @_Z10_cl_acospiDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z6acospiDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z10_cl_acospiDv8_f(<8 x float> %a)
  ret <8 x float> %call
}


declare <8 x float> @_Z8_cl_asinDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z4asinDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z8_cl_asinDv8_f(<8 x float> %a)
  ret <8 x float> %call
}


declare <8 x float> @_Z9_cl_asinhDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z5asinhDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z9_cl_asinhDv8_f(<8 x float> %a)
  ret <8 x float> %call
}


declare <8 x float> @_Z10_cl_asinpiDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z6asinpiDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z10_cl_asinpiDv8_f(<8 x float> %a)
  ret <8 x float> %call
}


declare <8 x float> @_Z8_cl_atanDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z4atanDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z8_cl_atanDv8_f(<8 x float> %a)
  ret <8 x float> %call
}


declare <8 x float> @_Z9_cl_atanhDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z5atanhDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z9_cl_atanhDv8_f(<8 x float> %a)
  ret <8 x float> %call
}


declare <8 x float> @_Z10_cl_atanpiDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z6atanpiDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z10_cl_atanpiDv8_f(<8 x float> %a)
  ret <8 x float> %call
}


declare <8 x float> @_Z8_cl_cbrtDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z4cbrtDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z8_cl_cbrtDv8_f(<8 x float> %a)
  ret <8 x float> %call
}


declare <8 x float> @_Z8_cl_ceilDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z4ceilDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z8_cl_ceilDv8_f(<8 x float> %a)
  ret <8 x float> %call
}


declare <8 x float> @_Z7_cl_cosDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z3cosDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z7_cl_cosDv8_f(<8 x float> %a)
  ret <8 x float> %call
}


declare <8 x float> @_Z8_cl_coshDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z4coshDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z8_cl_coshDv8_f(<8 x float> %a)
  ret <8 x float> %call
}


declare <8 x float> @_Z9_cl_cospiDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z5cospiDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z9_cl_cospiDv8_f(<8 x float> %a)
  ret <8 x float> %call
}


declare <8 x float> @_Z8_cl_erfcDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z4erfcDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z8_cl_erfcDv8_f(<8 x float> %a)
  ret <8 x float> %call
}


declare <8 x float> @_Z7_cl_erfDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z3erfDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z7_cl_erfDv8_f(<8 x float> %a)
  ret <8 x float> %call
}


declare <8 x float> @_Z7_cl_expDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z3expDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z7_cl_expDv8_f(<8 x float> %a)
  ret <8 x float> %call
}


declare <8 x float> @_Z8_cl_exp2Dv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z4exp2Dv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z8_cl_exp2Dv8_f(<8 x float> %a)
  ret <8 x float> %call
}


declare <8 x float> @_Z9_cl_exp10Dv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z5exp10Dv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z9_cl_exp10Dv8_f(<8 x float> %a)
  ret <8 x float> %call
}


declare <8 x float> @_Z9_cl_expm1Dv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z5expm1Dv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z9_cl_expm1Dv8_f(<8 x float> %a)
  ret <8 x float> %call
}


declare <8 x float> @_Z8_cl_fabsDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z4fabsDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z8_cl_fabsDv8_f(<8 x float> %a)
  ret <8 x float> %call
}


declare <8 x float> @_Z9_cl_floorDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z5floorDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z9_cl_floorDv8_f(<8 x float> %a)
  ret <8 x float> %call
}


declare <8 x float> @_Z10_cl_lgammaDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z6lgammaDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z10_cl_lgammaDv8_f(<8 x float> %a)
  ret <8 x float> %call
}


declare <8 x float> @_Z7_cl_logDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z3logDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z7_cl_logDv8_f(<8 x float> %a)
  ret <8 x float> %call
}


declare <8 x float> @_Z9_cl_log10Dv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z5log10Dv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z9_cl_log10Dv8_f(<8 x float> %a)
  ret <8 x float> %call
}


declare <8 x float> @_Z8_cl_log2Dv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z4log2Dv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z8_cl_log2Dv8_f(<8 x float> %a)
  ret <8 x float> %call
}


declare <8 x float> @_Z9_cl_log1pDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z5log1pDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z9_cl_log1pDv8_f(<8 x float> %a)
  ret <8 x float> %call
}


declare <8 x float> @_Z8_cl_logbDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z4logbDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z8_cl_logbDv8_f(<8 x float> %a)
  ret <8 x float> %call
}


declare <8 x float> @_Z8_cl_rintDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z4rintDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z8_cl_rintDv8_f(<8 x float> %a)
  ret <8 x float> %call
}


declare <8 x float> @_Z9_cl_roundDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z5roundDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z9_cl_roundDv8_f(<8 x float> %a)
  ret <8 x float> %call
}


declare <8 x float> @_Z9_cl_rsqrtDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z5rsqrtDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z9_cl_rsqrtDv8_f(<8 x float> %a)
  ret <8 x float> %call
}


declare <8 x float> @_Z7_cl_sinDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z3sinDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z7_cl_sinDv8_f(<8 x float> %a)
  ret <8 x float> %call
}


declare <8 x float> @_Z8_cl_sinhDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z4sinhDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z8_cl_sinhDv8_f(<8 x float> %a)
  ret <8 x float> %call
}


declare <8 x float> @_Z9_cl_sinpiDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z5sinpiDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z9_cl_sinpiDv8_f(<8 x float> %a)
  ret <8 x float> %call
}


declare <8 x float> @_Z8_cl_sqrtDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z4sqrtDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z8_cl_sqrtDv8_f(<8 x float> %a)
  ret <8 x float> %call
}


declare <8 x float> @_Z7_cl_tanDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z3tanDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z7_cl_tanDv8_f(<8 x float> %a)
  ret <8 x float> %call
}


declare <8 x float> @_Z8_cl_tanhDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z4tanhDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z8_cl_tanhDv8_f(<8 x float> %a)
  ret <8 x float> %call
}


declare <8 x float> @_Z9_cl_tanpiDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z5tanpiDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z9_cl_tanpiDv8_f(<8 x float> %a)
  ret <8 x float> %call
}


declare <8 x float> @_Z10_cl_tgammaDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z6tgammaDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z10_cl_tgammaDv8_f(<8 x float> %a)
  ret <8 x float> %call
}


declare <8 x float> @_Z9_cl_truncDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z5truncDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z9_cl_truncDv8_f(<8 x float> %a)
  ret <8 x float> %call
}


declare <8 x float> @_Z14_cl_native_cosDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z10native_cosDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z14_cl_native_cosDv8_f(<8 x float> %a)
  ret <8 x float> %call
}


declare <8 x float> @_Z14_cl_native_expDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z10native_expDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z14_cl_native_expDv8_f(<8 x float> %a)
  ret <8 x float> %call
}


declare <8 x float> @_Z15_cl_native_exp2Dv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z11native_exp2Dv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z15_cl_native_exp2Dv8_f(<8 x float> %a)
  ret <8 x float> %call
}


declare <8 x float> @_Z16_cl_native_exp10Dv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z12native_exp10Dv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z16_cl_native_exp10Dv8_f(<8 x float> %a)
  ret <8 x float> %call
}


declare <8 x float> @_Z14_cl_native_logDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z10native_logDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z14_cl_native_logDv8_f(<8 x float> %a)
  ret <8 x float> %call
}


declare <8 x float> @_Z15_cl_native_log2Dv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z11native_log2Dv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z15_cl_native_log2Dv8_f(<8 x float> %a)
  ret <8 x float> %call
}


declare <8 x float> @_Z16_cl_native_log10Dv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z12native_log10Dv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z16_cl_native_log10Dv8_f(<8 x float> %a)
  ret <8 x float> %call
}


declare <8 x float> @_Z16_cl_native_recipDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z12native_recipDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z16_cl_native_recipDv8_f(<8 x float> %a)
  ret <8 x float> %call
}


declare <8 x float> @_Z16_cl_native_rsqrtDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z12native_rsqrtDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z16_cl_native_rsqrtDv8_f(<8 x float> %a)
  ret <8 x float> %call
}


declare <8 x float> @_Z14_cl_native_sinDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z10native_sinDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z14_cl_native_sinDv8_f(<8 x float> %a)
  ret <8 x float> %call
}


declare <8 x float> @_Z15_cl_native_sqrtDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z11native_sqrtDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z15_cl_native_sqrtDv8_f(<8 x float> %a)
  ret <8 x float> %call
}


declare <8 x float> @_Z14_cl_native_tanDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z10native_tanDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z14_cl_native_tanDv8_f(<8 x float> %a)
  ret <8 x float> %call
}


declare <8 x float> @_Z11_cl_degreesDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z7degreesDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z11_cl_degreesDv8_f(<8 x float> %a)
  ret <8 x float> %call
}


declare <8 x float> @_Z11_cl_radiansDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z7radiansDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z11_cl_radiansDv8_f(<8 x float> %a)
  ret <8 x float> %call
}


declare <8 x float> @_Z8_cl_signDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z4signDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z8_cl_signDv8_f(<8 x float> %a)
  ret <8 x float> %call
}


declare <8 x float> @_Z9_cl_atan2Dv8_fS_(<8 x float>, <8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z5atan2Dv8_fS_(<8 x float> %a, <8 x float> %b) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z9_cl_atan2Dv8_fS_(<8 x float> %a, <8 x float> %b)
  ret <8 x float> %call
}


declare <8 x float> @_Z11_cl_atan2piDv8_fS_(<8 x float>, <8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z7atan2piDv8_fS_(<8 x float> %a, <8 x float> %b) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z11_cl_atan2piDv8_fS_(<8 x float> %a, <8 x float> %b)
  ret <8 x float> %call
}


declare <8 x float> @_Z12_cl_copysignDv8_fS_(<8 x float>, <8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z8copysignDv8_fS_(<8 x float> %a, <8 x float> %b) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z12_cl_copysignDv8_fS_(<8 x float> %a, <8 x float> %b)
  ret <8 x float> %call
}


declare <8 x float> @_Z8_cl_fdimDv8_fS_(<8 x float>, <8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z4fdimDv8_fS_(<8 x float> %a, <8 x float> %b) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z8_cl_fdimDv8_fS_(<8 x float> %a, <8 x float> %b)
  ret <8 x float> %call
}


declare <8 x float> @_Z8_cl_fmaxDv8_fS_(<8 x float>, <8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z4fmaxDv8_fS_(<8 x float> %a, <8 x float> %b) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z8_cl_fmaxDv8_fS_(<8 x float> %a, <8 x float> %b)
  ret <8 x float> %call
}


declare <8 x float> @_Z8_cl_fminDv8_fS_(<8 x float>, <8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z4fminDv8_fS_(<8 x float> %a, <8 x float> %b) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z8_cl_fminDv8_fS_(<8 x float> %a, <8 x float> %b)
  ret <8 x float> %call
}


declare <8 x float> @_Z8_cl_fmodDv8_fS_(<8 x float>, <8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z4fmodDv8_fS_(<8 x float> %a, <8 x float> %b) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z8_cl_fmodDv8_fS_(<8 x float> %a, <8 x float> %b)
  ret <8 x float> %call
}


declare <8 x float> @_Z9_cl_hypotDv8_fS_(<8 x float>, <8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z5hypotDv8_fS_(<8 x float> %a, <8 x float> %b) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z9_cl_hypotDv8_fS_(<8 x float> %a, <8 x float> %b)
  ret <8 x float> %call
}


declare <8 x float> @_Z13_cl_nextafterDv8_fS_(<8 x float>, <8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z9nextafterDv8_fS_(<8 x float> %a, <8 x float> %b) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z13_cl_nextafterDv8_fS_(<8 x float> %a, <8 x float> %b)
  ret <8 x float> %call
}


declare <8 x float> @_Z7_cl_powDv8_fS_(<8 x float>, <8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z3powDv8_fS_(<8 x float> %a, <8 x float> %b) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z7_cl_powDv8_fS_(<8 x float> %a, <8 x float> %b)
  ret <8 x float> %call
}


declare <8 x float> @_Z8_cl_powrDv8_fS_(<8 x float>, <8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z4powrDv8_fS_(<8 x float> %a, <8 x float> %b) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z8_cl_powrDv8_fS_(<8 x float> %a, <8 x float> %b)
  ret <8 x float> %call
}


declare <8 x float> @_Z10_cl_maxmagDv8_fS_(<8 x float>, <8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z6maxmagDv8_fS_(<8 x float> %a, <8 x float> %b) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z10_cl_maxmagDv8_fS_(<8 x float> %a, <8 x float> %b)
  ret <8 x float> %call
}


declare <8 x float> @_Z10_cl_minmagDv8_fS_(<8 x float>, <8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z6minmagDv8_fS_(<8 x float> %a, <8 x float> %b) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z10_cl_minmagDv8_fS_(<8 x float> %a, <8 x float> %b)
  ret <8 x float> %call
}


declare <8 x float> @_Z13_cl_remainderDv8_fS_(<8 x float>, <8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z9remainderDv8_fS_(<8 x float> %a, <8 x float> %b) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z13_cl_remainderDv8_fS_(<8 x float> %a, <8 x float> %b)
  ret <8 x float> %call
}


declare <8 x float> @_Z17_cl_native_divideDv8_fS_(<8 x float>, <8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z13native_divideDv8_fS_(<8 x float> %a, <8 x float> %b) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z17_cl_native_divideDv8_fS_(<8 x float> %a, <8 x float> %b)
  ret <8 x float> %call
}


declare <8 x float> @_Z15_cl_native_powrDv8_fS_(<8 x float>, <8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z11native_powrDv8_fS_(<8 x float> %a, <8 x float> %b) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z15_cl_native_powrDv8_fS_(<8 x float> %a, <8 x float> %b)
  ret <8 x float> %call
}


declare <8 x float> @_Z7_cl_maxDv8_fS_(<8 x float>, <8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z3maxDv8_fS_(<8 x float> %a, <8 x float> %b) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z7_cl_maxDv8_fS_(<8 x float> %a, <8 x float> %b)
  ret <8 x float> %call
}


declare <8 x float> @_Z7_cl_minDv8_fS_(<8 x float>, <8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z3minDv8_fS_(<8 x float> %a, <8 x float> %b) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z7_cl_minDv8_fS_(<8 x float> %a, <8 x float> %b)
  ret <8 x float> %call
}


declare <8 x float> @_Z8_cl_stepDv8_fS_(<8 x float>, <8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z4stepDv8_fS_(<8 x float> %a, <8 x float> %b) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z8_cl_stepDv8_fS_(<8 x float> %a, <8 x float> %b)
  ret <8 x float> %call
}


declare <8 x float> @_Z9_cl_fractDv8_fPU3AS1S_(<8 x float>, <8 x float> addrspace(1)*) local_unnamed_addr #0

define spir_func <8 x float> @_Z5fractDv8_fPU3AS1S_(<8 x float> %a, <8 x float> addrspace(1)* %b) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z9_cl_fractDv8_fPU3AS1S_(<8 x float> %a, <8 x float> addrspace(1)* %b)
  ret <8 x float> %call
}


declare <8 x float> @_Z9_cl_fractDv8_fPU3AS3S_(<8 x float>, <8 x float> addrspace(3)*) local_unnamed_addr #0

define spir_func <8 x float> @_Z5fractDv8_fPU3AS3S_(<8 x float> %a, <8 x float> addrspace(3)* %b) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z9_cl_fractDv8_fPU3AS3S_(<8 x float> %a, <8 x float> addrspace(3)* %b)
  ret <8 x float> %call
}


declare <8 x float> @_Z9_cl_fractDv8_fPS_(<8 x float>, <8 x float> *) local_unnamed_addr #0

define spir_func <8 x float> @_Z5fractDv8_fPS_(<8 x float> %a, <8 x float> * %b) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z9_cl_fractDv8_fPS_(<8 x float> %a, <8 x float> * %b)
  ret <8 x float> %call
}


declare <8 x float> @_Z10_cl_sincosDv8_fPU3AS1S_(<8 x float>, <8 x float> addrspace(1)*) local_unnamed_addr #0

define spir_func <8 x float> @_Z6sincosDv8_fPU3AS1S_(<8 x float> %a, <8 x float> addrspace(1)* %b) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z10_cl_sincosDv8_fPU3AS1S_(<8 x float> %a, <8 x float> addrspace(1)* %b)
  ret <8 x float> %call
}


declare <8 x float> @_Z10_cl_sincosDv8_fPU3AS3S_(<8 x float>, <8 x float> addrspace(3)*) local_unnamed_addr #0

define spir_func <8 x float> @_Z6sincosDv8_fPU3AS3S_(<8 x float> %a, <8 x float> addrspace(3)* %b) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z10_cl_sincosDv8_fPU3AS3S_(<8 x float> %a, <8 x float> addrspace(3)* %b)
  ret <8 x float> %call
}


declare <8 x float> @_Z10_cl_sincosDv8_fPS_(<8 x float>, <8 x float> *) local_unnamed_addr #0

define spir_func <8 x float> @_Z6sincosDv8_fPS_(<8 x float> %a, <8 x float> * %b) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z10_cl_sincosDv8_fPS_(<8 x float> %a, <8 x float> * %b)
  ret <8 x float> %call
}


declare <8 x float> @_Z8_cl_modfDv8_fPU3AS1S_(<8 x float>, <8 x float> addrspace(1)*) local_unnamed_addr #0

define spir_func <8 x float> @_Z4modfDv8_fPU3AS1S_(<8 x float> %a, <8 x float> addrspace(1)* %b) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z8_cl_modfDv8_fPU3AS1S_(<8 x float> %a, <8 x float> addrspace(1)* %b)
  ret <8 x float> %call
}


declare <8 x float> @_Z8_cl_modfDv8_fPU3AS3S_(<8 x float>, <8 x float> addrspace(3)*) local_unnamed_addr #0

define spir_func <8 x float> @_Z4modfDv8_fPU3AS3S_(<8 x float> %a, <8 x float> addrspace(3)* %b) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z8_cl_modfDv8_fPU3AS3S_(<8 x float> %a, <8 x float> addrspace(3)* %b)
  ret <8 x float> %call
}


declare <8 x float> @_Z8_cl_modfDv8_fPS_(<8 x float>, <8 x float> *) local_unnamed_addr #0

define spir_func <8 x float> @_Z4modfDv8_fPS_(<8 x float> %a, <8 x float> * %b) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z8_cl_modfDv8_fPS_(<8 x float> %a, <8 x float> * %b)
  ret <8 x float> %call
}


declare <8 x float> @_Z13_cl_bitselectDv8_fS_S_(<8 x float>, <8 x float>, <8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z9bitselectDv8_fS_S_(<8 x float> %a, <8 x float> %b, <8 x float> %c) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z13_cl_bitselectDv8_fS_S_(<8 x float> %a, <8 x float> %b, <8 x float> %c)
  ret <8 x float> %call
}


declare <8 x float> @_Z9_cl_clampDv8_fS_S_(<8 x float>, <8 x float>, <8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z5clampDv8_fS_S_(<8 x float> %a, <8 x float> %b, <8 x float> %c) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z9_cl_clampDv8_fS_S_(<8 x float> %a, <8 x float> %b, <8 x float> %c)
  ret <8 x float> %call
}


declare <8 x float> @_Z7_cl_fmaDv8_fS_S_(<8 x float>, <8 x float>, <8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z3fmaDv8_fS_S_(<8 x float> %a, <8 x float> %b, <8 x float> %c) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z7_cl_fmaDv8_fS_S_(<8 x float> %a, <8 x float> %b, <8 x float> %c)
  ret <8 x float> %call
}


declare <8 x float> @_Z7_cl_madDv8_fS_S_(<8 x float>, <8 x float>, <8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z3madDv8_fS_S_(<8 x float> %a, <8 x float> %b, <8 x float> %c) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z7_cl_madDv8_fS_S_(<8 x float> %a, <8 x float> %b, <8 x float> %c)
  ret <8 x float> %call
}


declare <8 x float> @_Z7_cl_mixDv8_fS_S_(<8 x float>, <8 x float>, <8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z3mixDv8_fS_S_(<8 x float> %a, <8 x float> %b, <8 x float> %c) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z7_cl_mixDv8_fS_S_(<8 x float> %a, <8 x float> %b, <8 x float> %c)
  ret <8 x float> %call
}


declare <8 x float> @_Z14_cl_smoothstepDv8_fS_S_(<8 x float>, <8 x float>, <8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z10smoothstepDv8_fS_S_(<8 x float> %a, <8 x float> %b, <8 x float> %c) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z14_cl_smoothstepDv8_fS_S_(<8 x float> %a, <8 x float> %b, <8 x float> %c)
  ret <8 x float> %call
}


declare i32 @_Z9_cl_ilogbDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func i32 @_Z5ilogbDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z9_cl_ilogbDv8_f(<8 x float> %a)
  ret i32 %call
}


declare <8 x float> @_Z9_cl_ldexpDv8_fDv8_i(<8 x float>, <8 x i32>) local_unnamed_addr #0

define spir_func <8 x float> @_Z5ldexpDv8_fDv8_i(<8 x float> %a, <8 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z9_cl_ldexpDv8_fDv8_i(<8 x float> %a, <8 x i32> %b)
  ret <8 x float> %call
}


declare <8 x float> @_Z8_cl_pownDv8_fDv8_i(<8 x float>, <8 x i32>) local_unnamed_addr #0

define spir_func <8 x float> @_Z4pownDv8_fDv8_i(<8 x float> %a, <8 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z8_cl_pownDv8_fDv8_i(<8 x float> %a, <8 x i32> %b)
  ret <8 x float> %call
}


declare <8 x float> @_Z9_cl_rootnDv8_fDv8_i(<8 x float>, <8 x i32>) local_unnamed_addr #0

define spir_func <8 x float> @_Z5rootnDv8_fDv8_i(<8 x float> %a, <8 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z9_cl_rootnDv8_fDv8_i(<8 x float> %a, <8 x i32> %b)
  ret <8 x float> %call
}


declare <8 x float> @_Z10_cl_remquoDv8_fS_PU3AS1Dv8_i(<8 x float>, <8 x float>, <8 x i32> addrspace(1)*) local_unnamed_addr #0

define spir_func <8 x float> @_Z6remquoDv8_fS_PU3AS1Dv8_i(<8 x float> %a, <8 x float> %b, <8 x i32> addrspace(1)* %c) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z10_cl_remquoDv8_fS_PU3AS1Dv8_i(<8 x float> %a, <8 x float> %b, <8 x i32> addrspace(1)* %c)
  ret <8 x float> %call
}


declare <8 x float> @_Z10_cl_remquoDv8_fS_PU3AS3Dv8_i(<8 x float>, <8 x float>, <8 x i32> addrspace(3)*) local_unnamed_addr #0

define spir_func <8 x float> @_Z6remquoDv8_fS_PU3AS3Dv8_i(<8 x float> %a, <8 x float> %b, <8 x i32> addrspace(3)* %c) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z10_cl_remquoDv8_fS_PU3AS3Dv8_i(<8 x float> %a, <8 x float> %b, <8 x i32> addrspace(3)* %c)
  ret <8 x float> %call
}


declare <8 x float> @_Z10_cl_remquoDv8_fS_PDv8_i(<8 x float>, <8 x float>, <8 x i32> *) local_unnamed_addr #0

define spir_func <8 x float> @_Z6remquoDv8_fS_PDv8_i(<8 x float> %a, <8 x float> %b, <8 x i32> * %c) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z10_cl_remquoDv8_fS_PDv8_i(<8 x float> %a, <8 x float> %b, <8 x i32> * %c)
  ret <8 x float> %call
}


declare <8 x float> @_Z7_cl_nanDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x float> @_Z3nanDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z7_cl_nanDv8_j(<8 x i32> %a)
  ret <8 x float> %call
}


declare <8 x float> @_Z12_cl_lgamma_rDv8_fPU3AS1Dv8_i(<8 x float>, <8 x i32> addrspace(1)*) local_unnamed_addr #0

define spir_func <8 x float> @_Z8lgamma_rDv8_fPU3AS1Dv8_i(<8 x float> %a, <8 x i32> addrspace(1)* %b) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z12_cl_lgamma_rDv8_fPU3AS1Dv8_i(<8 x float> %a, <8 x i32> addrspace(1)* %b)
  ret <8 x float> %call
}


declare <8 x float> @_Z12_cl_lgamma_rDv8_fPU3AS3Dv8_i(<8 x float>, <8 x i32> addrspace(3)*) local_unnamed_addr #0

define spir_func <8 x float> @_Z8lgamma_rDv8_fPU3AS3Dv8_i(<8 x float> %a, <8 x i32> addrspace(3)* %b) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z12_cl_lgamma_rDv8_fPU3AS3Dv8_i(<8 x float> %a, <8 x i32> addrspace(3)* %b)
  ret <8 x float> %call
}


declare <8 x float> @_Z12_cl_lgamma_rDv8_fPDv8_i(<8 x float>, <8 x i32> *) local_unnamed_addr #0

define spir_func <8 x float> @_Z8lgamma_rDv8_fPDv8_i(<8 x float> %a, <8 x i32> * %b) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z12_cl_lgamma_rDv8_fPDv8_i(<8 x float> %a, <8 x i32> * %b)
  ret <8 x float> %call
}


declare <8 x float> @_Z9_cl_frexpDv8_fPU3AS1Dv8_i(<8 x float>, <8 x i32> addrspace(1)*) local_unnamed_addr #0

define spir_func <8 x float> @_Z5frexpDv8_fPU3AS1Dv8_i(<8 x float> %a, <8 x i32> addrspace(1)* %b) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z9_cl_frexpDv8_fPU3AS1Dv8_i(<8 x float> %a, <8 x i32> addrspace(1)* %b)
  ret <8 x float> %call
}


declare <8 x float> @_Z9_cl_frexpDv8_fPU3AS3Dv8_i(<8 x float>, <8 x i32> addrspace(3)*) local_unnamed_addr #0

define spir_func <8 x float> @_Z5frexpDv8_fPU3AS3Dv8_i(<8 x float> %a, <8 x i32> addrspace(3)* %b) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z9_cl_frexpDv8_fPU3AS3Dv8_i(<8 x float> %a, <8 x i32> addrspace(3)* %b)
  ret <8 x float> %call
}


declare <8 x float> @_Z9_cl_frexpDv8_fPDv8_i(<8 x float>, <8 x i32> *) local_unnamed_addr #0

define spir_func <8 x float> @_Z5frexpDv8_fPDv8_i(<8 x float> %a, <8 x i32> * %b) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z9_cl_frexpDv8_fPDv8_i(<8 x float> %a, <8 x i32> * %b)
  ret <8 x float> %call
}


declare <8 x float> @_Z10_cl_selectDv8_fS_Dv8_i(<8 x float>, <8 x float>, <8 x i32>) local_unnamed_addr #0

define spir_func <8 x float> @_Z6selectDv8_fS_Dv8_i(<8 x float> %a, <8 x float> %b, <8 x i32> %c) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z10_cl_selectDv8_fS_Dv8_i(<8 x float> %a, <8 x float> %b, <8 x i32> %c)
  ret <8 x float> %call
}


declare <8 x float> @_Z10_cl_selectDv8_fS_Dv8_j(<8 x float>, <8 x float>, <8 x i32>) local_unnamed_addr #0

define spir_func <8 x float> @_Z6selectDv8_fS_Dv8_j(<8 x float> %a, <8 x float> %b, <8 x i32> %c) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z10_cl_selectDv8_fS_Dv8_j(<8 x float> %a, <8 x float> %b, <8 x i32> %c)
  ret <8 x float> %call
}


declare <8 x i32> @_Z11_cl_signbitDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z7signbitDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z11_cl_signbitDv8_f(<8 x float> %a)
  ret <8 x i32> %call
}


declare <8 x i32> @_Z11_cl_isequalDv8_fS_(<8 x float>, <8 x float>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z7isequalDv8_fS_(<8 x float> %a, <8 x float> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z11_cl_isequalDv8_fS_(<8 x float> %a, <8 x float> %b)
  ret <8 x i32> %call
}


declare <8 x i32> @_Z14_cl_isnotequalDv8_fS_(<8 x float>, <8 x float>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z10isnotequalDv8_fS_(<8 x float> %a, <8 x float> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z14_cl_isnotequalDv8_fS_(<8 x float> %a, <8 x float> %b)
  ret <8 x i32> %call
}


declare <8 x i32> @_Z13_cl_isgreaterDv8_fS_(<8 x float>, <8 x float>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z9isgreaterDv8_fS_(<8 x float> %a, <8 x float> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z13_cl_isgreaterDv8_fS_(<8 x float> %a, <8 x float> %b)
  ret <8 x i32> %call
}


declare <8 x i32> @_Z18_cl_isgreaterequalDv8_fS_(<8 x float>, <8 x float>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z14isgreaterequalDv8_fS_(<8 x float> %a, <8 x float> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z18_cl_isgreaterequalDv8_fS_(<8 x float> %a, <8 x float> %b)
  ret <8 x i32> %call
}


declare <8 x i32> @_Z10_cl_islessDv8_fS_(<8 x float>, <8 x float>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z6islessDv8_fS_(<8 x float> %a, <8 x float> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z10_cl_islessDv8_fS_(<8 x float> %a, <8 x float> %b)
  ret <8 x i32> %call
}


declare <8 x i32> @_Z15_cl_islessequalDv8_fS_(<8 x float>, <8 x float>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z11islessequalDv8_fS_(<8 x float> %a, <8 x float> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z15_cl_islessequalDv8_fS_(<8 x float> %a, <8 x float> %b)
  ret <8 x i32> %call
}


declare <8 x i32> @_Z17_cl_islessgreaterDv8_fS_(<8 x float>, <8 x float>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z13islessgreaterDv8_fS_(<8 x float> %a, <8 x float> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z17_cl_islessgreaterDv8_fS_(<8 x float> %a, <8 x float> %b)
  ret <8 x i32> %call
}


declare <8 x i32> @_Z12_cl_isfiniteDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z8isfiniteDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z12_cl_isfiniteDv8_f(<8 x float> %a)
  ret <8 x i32> %call
}


declare <8 x i32> @_Z9_cl_isinfDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z5isinfDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z9_cl_isinfDv8_f(<8 x float> %a)
  ret <8 x i32> %call
}


declare <8 x i32> @_Z9_cl_isnanDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z5isnanDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z9_cl_isnanDv8_f(<8 x float> %a)
  ret <8 x i32> %call
}


declare <8 x i32> @_Z12_cl_isnormalDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z8isnormalDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z12_cl_isnormalDv8_f(<8 x float> %a)
  ret <8 x i32> %call
}


declare <8 x i32> @_Z13_cl_isorderedDv8_fS_(<8 x float>, <8 x float>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z9isorderedDv8_fS_(<8 x float> %a, <8 x float> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z13_cl_isorderedDv8_fS_(<8 x float> %a, <8 x float> %b)
  ret <8 x i32> %call
}


declare <8 x i32> @_Z15_cl_isunorderedDv8_fS_(<8 x float>, <8 x float>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z11isunorderedDv8_fS_(<8 x float> %a, <8 x float> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z15_cl_isunorderedDv8_fS_(<8 x float> %a, <8 x float> %b)
  ret <8 x i32> %call
}


declare <16 x float> @_Z8_cl_acosDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z4acosDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z8_cl_acosDv16_f(<16 x float> %a)
  ret <16 x float> %call
}


declare <16 x float> @_Z9_cl_acoshDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z5acoshDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z9_cl_acoshDv16_f(<16 x float> %a)
  ret <16 x float> %call
}


declare <16 x float> @_Z10_cl_acospiDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z6acospiDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z10_cl_acospiDv16_f(<16 x float> %a)
  ret <16 x float> %call
}


declare <16 x float> @_Z8_cl_asinDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z4asinDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z8_cl_asinDv16_f(<16 x float> %a)
  ret <16 x float> %call
}


declare <16 x float> @_Z9_cl_asinhDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z5asinhDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z9_cl_asinhDv16_f(<16 x float> %a)
  ret <16 x float> %call
}


declare <16 x float> @_Z10_cl_asinpiDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z6asinpiDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z10_cl_asinpiDv16_f(<16 x float> %a)
  ret <16 x float> %call
}


declare <16 x float> @_Z8_cl_atanDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z4atanDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z8_cl_atanDv16_f(<16 x float> %a)
  ret <16 x float> %call
}


declare <16 x float> @_Z9_cl_atanhDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z5atanhDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z9_cl_atanhDv16_f(<16 x float> %a)
  ret <16 x float> %call
}


declare <16 x float> @_Z10_cl_atanpiDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z6atanpiDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z10_cl_atanpiDv16_f(<16 x float> %a)
  ret <16 x float> %call
}


declare <16 x float> @_Z8_cl_cbrtDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z4cbrtDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z8_cl_cbrtDv16_f(<16 x float> %a)
  ret <16 x float> %call
}


declare <16 x float> @_Z8_cl_ceilDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z4ceilDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z8_cl_ceilDv16_f(<16 x float> %a)
  ret <16 x float> %call
}


declare <16 x float> @_Z7_cl_cosDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z3cosDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z7_cl_cosDv16_f(<16 x float> %a)
  ret <16 x float> %call
}


declare <16 x float> @_Z8_cl_coshDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z4coshDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z8_cl_coshDv16_f(<16 x float> %a)
  ret <16 x float> %call
}


declare <16 x float> @_Z9_cl_cospiDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z5cospiDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z9_cl_cospiDv16_f(<16 x float> %a)
  ret <16 x float> %call
}


declare <16 x float> @_Z8_cl_erfcDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z4erfcDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z8_cl_erfcDv16_f(<16 x float> %a)
  ret <16 x float> %call
}


declare <16 x float> @_Z7_cl_erfDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z3erfDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z7_cl_erfDv16_f(<16 x float> %a)
  ret <16 x float> %call
}


declare <16 x float> @_Z7_cl_expDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z3expDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z7_cl_expDv16_f(<16 x float> %a)
  ret <16 x float> %call
}


declare <16 x float> @_Z8_cl_exp2Dv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z4exp2Dv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z8_cl_exp2Dv16_f(<16 x float> %a)
  ret <16 x float> %call
}


declare <16 x float> @_Z9_cl_exp10Dv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z5exp10Dv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z9_cl_exp10Dv16_f(<16 x float> %a)
  ret <16 x float> %call
}


declare <16 x float> @_Z9_cl_expm1Dv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z5expm1Dv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z9_cl_expm1Dv16_f(<16 x float> %a)
  ret <16 x float> %call
}


declare <16 x float> @_Z8_cl_fabsDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z4fabsDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z8_cl_fabsDv16_f(<16 x float> %a)
  ret <16 x float> %call
}


declare <16 x float> @_Z9_cl_floorDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z5floorDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z9_cl_floorDv16_f(<16 x float> %a)
  ret <16 x float> %call
}


declare <16 x float> @_Z10_cl_lgammaDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z6lgammaDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z10_cl_lgammaDv16_f(<16 x float> %a)
  ret <16 x float> %call
}


declare <16 x float> @_Z7_cl_logDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z3logDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z7_cl_logDv16_f(<16 x float> %a)
  ret <16 x float> %call
}


declare <16 x float> @_Z9_cl_log10Dv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z5log10Dv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z9_cl_log10Dv16_f(<16 x float> %a)
  ret <16 x float> %call
}


declare <16 x float> @_Z8_cl_log2Dv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z4log2Dv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z8_cl_log2Dv16_f(<16 x float> %a)
  ret <16 x float> %call
}


declare <16 x float> @_Z9_cl_log1pDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z5log1pDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z9_cl_log1pDv16_f(<16 x float> %a)
  ret <16 x float> %call
}


declare <16 x float> @_Z8_cl_logbDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z4logbDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z8_cl_logbDv16_f(<16 x float> %a)
  ret <16 x float> %call
}


declare <16 x float> @_Z8_cl_rintDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z4rintDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z8_cl_rintDv16_f(<16 x float> %a)
  ret <16 x float> %call
}


declare <16 x float> @_Z9_cl_roundDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z5roundDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z9_cl_roundDv16_f(<16 x float> %a)
  ret <16 x float> %call
}


declare <16 x float> @_Z9_cl_rsqrtDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z5rsqrtDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z9_cl_rsqrtDv16_f(<16 x float> %a)
  ret <16 x float> %call
}


declare <16 x float> @_Z7_cl_sinDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z3sinDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z7_cl_sinDv16_f(<16 x float> %a)
  ret <16 x float> %call
}


declare <16 x float> @_Z8_cl_sinhDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z4sinhDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z8_cl_sinhDv16_f(<16 x float> %a)
  ret <16 x float> %call
}


declare <16 x float> @_Z9_cl_sinpiDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z5sinpiDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z9_cl_sinpiDv16_f(<16 x float> %a)
  ret <16 x float> %call
}


declare <16 x float> @_Z8_cl_sqrtDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z4sqrtDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z8_cl_sqrtDv16_f(<16 x float> %a)
  ret <16 x float> %call
}


declare <16 x float> @_Z7_cl_tanDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z3tanDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z7_cl_tanDv16_f(<16 x float> %a)
  ret <16 x float> %call
}


declare <16 x float> @_Z8_cl_tanhDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z4tanhDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z8_cl_tanhDv16_f(<16 x float> %a)
  ret <16 x float> %call
}


declare <16 x float> @_Z9_cl_tanpiDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z5tanpiDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z9_cl_tanpiDv16_f(<16 x float> %a)
  ret <16 x float> %call
}


declare <16 x float> @_Z10_cl_tgammaDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z6tgammaDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z10_cl_tgammaDv16_f(<16 x float> %a)
  ret <16 x float> %call
}


declare <16 x float> @_Z9_cl_truncDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z5truncDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z9_cl_truncDv16_f(<16 x float> %a)
  ret <16 x float> %call
}


declare <16 x float> @_Z14_cl_native_cosDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z10native_cosDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z14_cl_native_cosDv16_f(<16 x float> %a)
  ret <16 x float> %call
}


declare <16 x float> @_Z14_cl_native_expDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z10native_expDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z14_cl_native_expDv16_f(<16 x float> %a)
  ret <16 x float> %call
}


declare <16 x float> @_Z15_cl_native_exp2Dv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z11native_exp2Dv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z15_cl_native_exp2Dv16_f(<16 x float> %a)
  ret <16 x float> %call
}


declare <16 x float> @_Z16_cl_native_exp10Dv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z12native_exp10Dv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z16_cl_native_exp10Dv16_f(<16 x float> %a)
  ret <16 x float> %call
}


declare <16 x float> @_Z14_cl_native_logDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z10native_logDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z14_cl_native_logDv16_f(<16 x float> %a)
  ret <16 x float> %call
}


declare <16 x float> @_Z15_cl_native_log2Dv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z11native_log2Dv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z15_cl_native_log2Dv16_f(<16 x float> %a)
  ret <16 x float> %call
}


declare <16 x float> @_Z16_cl_native_log10Dv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z12native_log10Dv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z16_cl_native_log10Dv16_f(<16 x float> %a)
  ret <16 x float> %call
}


declare <16 x float> @_Z16_cl_native_recipDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z12native_recipDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z16_cl_native_recipDv16_f(<16 x float> %a)
  ret <16 x float> %call
}


declare <16 x float> @_Z16_cl_native_rsqrtDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z12native_rsqrtDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z16_cl_native_rsqrtDv16_f(<16 x float> %a)
  ret <16 x float> %call
}


declare <16 x float> @_Z14_cl_native_sinDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z10native_sinDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z14_cl_native_sinDv16_f(<16 x float> %a)
  ret <16 x float> %call
}


declare <16 x float> @_Z15_cl_native_sqrtDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z11native_sqrtDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z15_cl_native_sqrtDv16_f(<16 x float> %a)
  ret <16 x float> %call
}


declare <16 x float> @_Z14_cl_native_tanDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z10native_tanDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z14_cl_native_tanDv16_f(<16 x float> %a)
  ret <16 x float> %call
}


declare <16 x float> @_Z11_cl_degreesDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z7degreesDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z11_cl_degreesDv16_f(<16 x float> %a)
  ret <16 x float> %call
}


declare <16 x float> @_Z11_cl_radiansDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z7radiansDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z11_cl_radiansDv16_f(<16 x float> %a)
  ret <16 x float> %call
}


declare <16 x float> @_Z8_cl_signDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z4signDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z8_cl_signDv16_f(<16 x float> %a)
  ret <16 x float> %call
}


declare <16 x float> @_Z9_cl_atan2Dv16_fS_(<16 x float>, <16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z5atan2Dv16_fS_(<16 x float> %a, <16 x float> %b) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z9_cl_atan2Dv16_fS_(<16 x float> %a, <16 x float> %b)
  ret <16 x float> %call
}


declare <16 x float> @_Z11_cl_atan2piDv16_fS_(<16 x float>, <16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z7atan2piDv16_fS_(<16 x float> %a, <16 x float> %b) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z11_cl_atan2piDv16_fS_(<16 x float> %a, <16 x float> %b)
  ret <16 x float> %call
}


declare <16 x float> @_Z12_cl_copysignDv16_fS_(<16 x float>, <16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z8copysignDv16_fS_(<16 x float> %a, <16 x float> %b) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z12_cl_copysignDv16_fS_(<16 x float> %a, <16 x float> %b)
  ret <16 x float> %call
}


declare <16 x float> @_Z8_cl_fdimDv16_fS_(<16 x float>, <16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z4fdimDv16_fS_(<16 x float> %a, <16 x float> %b) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z8_cl_fdimDv16_fS_(<16 x float> %a, <16 x float> %b)
  ret <16 x float> %call
}


declare <16 x float> @_Z8_cl_fmaxDv16_fS_(<16 x float>, <16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z4fmaxDv16_fS_(<16 x float> %a, <16 x float> %b) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z8_cl_fmaxDv16_fS_(<16 x float> %a, <16 x float> %b)
  ret <16 x float> %call
}


declare <16 x float> @_Z8_cl_fminDv16_fS_(<16 x float>, <16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z4fminDv16_fS_(<16 x float> %a, <16 x float> %b) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z8_cl_fminDv16_fS_(<16 x float> %a, <16 x float> %b)
  ret <16 x float> %call
}


declare <16 x float> @_Z8_cl_fmodDv16_fS_(<16 x float>, <16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z4fmodDv16_fS_(<16 x float> %a, <16 x float> %b) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z8_cl_fmodDv16_fS_(<16 x float> %a, <16 x float> %b)
  ret <16 x float> %call
}


declare <16 x float> @_Z9_cl_hypotDv16_fS_(<16 x float>, <16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z5hypotDv16_fS_(<16 x float> %a, <16 x float> %b) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z9_cl_hypotDv16_fS_(<16 x float> %a, <16 x float> %b)
  ret <16 x float> %call
}


declare <16 x float> @_Z13_cl_nextafterDv16_fS_(<16 x float>, <16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z9nextafterDv16_fS_(<16 x float> %a, <16 x float> %b) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z13_cl_nextafterDv16_fS_(<16 x float> %a, <16 x float> %b)
  ret <16 x float> %call
}


declare <16 x float> @_Z7_cl_powDv16_fS_(<16 x float>, <16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z3powDv16_fS_(<16 x float> %a, <16 x float> %b) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z7_cl_powDv16_fS_(<16 x float> %a, <16 x float> %b)
  ret <16 x float> %call
}


declare <16 x float> @_Z8_cl_powrDv16_fS_(<16 x float>, <16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z4powrDv16_fS_(<16 x float> %a, <16 x float> %b) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z8_cl_powrDv16_fS_(<16 x float> %a, <16 x float> %b)
  ret <16 x float> %call
}


declare <16 x float> @_Z10_cl_maxmagDv16_fS_(<16 x float>, <16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z6maxmagDv16_fS_(<16 x float> %a, <16 x float> %b) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z10_cl_maxmagDv16_fS_(<16 x float> %a, <16 x float> %b)
  ret <16 x float> %call
}


declare <16 x float> @_Z10_cl_minmagDv16_fS_(<16 x float>, <16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z6minmagDv16_fS_(<16 x float> %a, <16 x float> %b) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z10_cl_minmagDv16_fS_(<16 x float> %a, <16 x float> %b)
  ret <16 x float> %call
}


declare <16 x float> @_Z13_cl_remainderDv16_fS_(<16 x float>, <16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z9remainderDv16_fS_(<16 x float> %a, <16 x float> %b) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z13_cl_remainderDv16_fS_(<16 x float> %a, <16 x float> %b)
  ret <16 x float> %call
}


declare <16 x float> @_Z17_cl_native_divideDv16_fS_(<16 x float>, <16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z13native_divideDv16_fS_(<16 x float> %a, <16 x float> %b) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z17_cl_native_divideDv16_fS_(<16 x float> %a, <16 x float> %b)
  ret <16 x float> %call
}


declare <16 x float> @_Z15_cl_native_powrDv16_fS_(<16 x float>, <16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z11native_powrDv16_fS_(<16 x float> %a, <16 x float> %b) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z15_cl_native_powrDv16_fS_(<16 x float> %a, <16 x float> %b)
  ret <16 x float> %call
}


declare <16 x float> @_Z7_cl_maxDv16_fS_(<16 x float>, <16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z3maxDv16_fS_(<16 x float> %a, <16 x float> %b) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z7_cl_maxDv16_fS_(<16 x float> %a, <16 x float> %b)
  ret <16 x float> %call
}


declare <16 x float> @_Z7_cl_minDv16_fS_(<16 x float>, <16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z3minDv16_fS_(<16 x float> %a, <16 x float> %b) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z7_cl_minDv16_fS_(<16 x float> %a, <16 x float> %b)
  ret <16 x float> %call
}


declare <16 x float> @_Z8_cl_stepDv16_fS_(<16 x float>, <16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z4stepDv16_fS_(<16 x float> %a, <16 x float> %b) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z8_cl_stepDv16_fS_(<16 x float> %a, <16 x float> %b)
  ret <16 x float> %call
}


declare <16 x float> @_Z9_cl_fractDv16_fPU3AS1S_(<16 x float>, <16 x float> addrspace(1)*) local_unnamed_addr #0

define spir_func <16 x float> @_Z5fractDv16_fPU3AS1S_(<16 x float> %a, <16 x float> addrspace(1)* %b) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z9_cl_fractDv16_fPU3AS1S_(<16 x float> %a, <16 x float> addrspace(1)* %b)
  ret <16 x float> %call
}


declare <16 x float> @_Z9_cl_fractDv16_fPU3AS3S_(<16 x float>, <16 x float> addrspace(3)*) local_unnamed_addr #0

define spir_func <16 x float> @_Z5fractDv16_fPU3AS3S_(<16 x float> %a, <16 x float> addrspace(3)* %b) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z9_cl_fractDv16_fPU3AS3S_(<16 x float> %a, <16 x float> addrspace(3)* %b)
  ret <16 x float> %call
}


declare <16 x float> @_Z9_cl_fractDv16_fPS_(<16 x float>, <16 x float> *) local_unnamed_addr #0

define spir_func <16 x float> @_Z5fractDv16_fPS_(<16 x float> %a, <16 x float> * %b) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z9_cl_fractDv16_fPS_(<16 x float> %a, <16 x float> * %b)
  ret <16 x float> %call
}


declare <16 x float> @_Z10_cl_sincosDv16_fPU3AS1S_(<16 x float>, <16 x float> addrspace(1)*) local_unnamed_addr #0

define spir_func <16 x float> @_Z6sincosDv16_fPU3AS1S_(<16 x float> %a, <16 x float> addrspace(1)* %b) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z10_cl_sincosDv16_fPU3AS1S_(<16 x float> %a, <16 x float> addrspace(1)* %b)
  ret <16 x float> %call
}


declare <16 x float> @_Z10_cl_sincosDv16_fPU3AS3S_(<16 x float>, <16 x float> addrspace(3)*) local_unnamed_addr #0

define spir_func <16 x float> @_Z6sincosDv16_fPU3AS3S_(<16 x float> %a, <16 x float> addrspace(3)* %b) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z10_cl_sincosDv16_fPU3AS3S_(<16 x float> %a, <16 x float> addrspace(3)* %b)
  ret <16 x float> %call
}


declare <16 x float> @_Z10_cl_sincosDv16_fPS_(<16 x float>, <16 x float> *) local_unnamed_addr #0

define spir_func <16 x float> @_Z6sincosDv16_fPS_(<16 x float> %a, <16 x float> * %b) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z10_cl_sincosDv16_fPS_(<16 x float> %a, <16 x float> * %b)
  ret <16 x float> %call
}


declare <16 x float> @_Z8_cl_modfDv16_fPU3AS1S_(<16 x float>, <16 x float> addrspace(1)*) local_unnamed_addr #0

define spir_func <16 x float> @_Z4modfDv16_fPU3AS1S_(<16 x float> %a, <16 x float> addrspace(1)* %b) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z8_cl_modfDv16_fPU3AS1S_(<16 x float> %a, <16 x float> addrspace(1)* %b)
  ret <16 x float> %call
}


declare <16 x float> @_Z8_cl_modfDv16_fPU3AS3S_(<16 x float>, <16 x float> addrspace(3)*) local_unnamed_addr #0

define spir_func <16 x float> @_Z4modfDv16_fPU3AS3S_(<16 x float> %a, <16 x float> addrspace(3)* %b) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z8_cl_modfDv16_fPU3AS3S_(<16 x float> %a, <16 x float> addrspace(3)* %b)
  ret <16 x float> %call
}


declare <16 x float> @_Z8_cl_modfDv16_fPS_(<16 x float>, <16 x float> *) local_unnamed_addr #0

define spir_func <16 x float> @_Z4modfDv16_fPS_(<16 x float> %a, <16 x float> * %b) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z8_cl_modfDv16_fPS_(<16 x float> %a, <16 x float> * %b)
  ret <16 x float> %call
}


declare <16 x float> @_Z13_cl_bitselectDv16_fS_S_(<16 x float>, <16 x float>, <16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z9bitselectDv16_fS_S_(<16 x float> %a, <16 x float> %b, <16 x float> %c) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z13_cl_bitselectDv16_fS_S_(<16 x float> %a, <16 x float> %b, <16 x float> %c)
  ret <16 x float> %call
}


declare <16 x float> @_Z9_cl_clampDv16_fS_S_(<16 x float>, <16 x float>, <16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z5clampDv16_fS_S_(<16 x float> %a, <16 x float> %b, <16 x float> %c) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z9_cl_clampDv16_fS_S_(<16 x float> %a, <16 x float> %b, <16 x float> %c)
  ret <16 x float> %call
}


declare <16 x float> @_Z7_cl_fmaDv16_fS_S_(<16 x float>, <16 x float>, <16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z3fmaDv16_fS_S_(<16 x float> %a, <16 x float> %b, <16 x float> %c) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z7_cl_fmaDv16_fS_S_(<16 x float> %a, <16 x float> %b, <16 x float> %c)
  ret <16 x float> %call
}


declare <16 x float> @_Z7_cl_madDv16_fS_S_(<16 x float>, <16 x float>, <16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z3madDv16_fS_S_(<16 x float> %a, <16 x float> %b, <16 x float> %c) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z7_cl_madDv16_fS_S_(<16 x float> %a, <16 x float> %b, <16 x float> %c)
  ret <16 x float> %call
}


declare <16 x float> @_Z7_cl_mixDv16_fS_S_(<16 x float>, <16 x float>, <16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z3mixDv16_fS_S_(<16 x float> %a, <16 x float> %b, <16 x float> %c) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z7_cl_mixDv16_fS_S_(<16 x float> %a, <16 x float> %b, <16 x float> %c)
  ret <16 x float> %call
}


declare <16 x float> @_Z14_cl_smoothstepDv16_fS_S_(<16 x float>, <16 x float>, <16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z10smoothstepDv16_fS_S_(<16 x float> %a, <16 x float> %b, <16 x float> %c) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z14_cl_smoothstepDv16_fS_S_(<16 x float> %a, <16 x float> %b, <16 x float> %c)
  ret <16 x float> %call
}


declare i32 @_Z9_cl_ilogbDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func i32 @_Z5ilogbDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z9_cl_ilogbDv16_f(<16 x float> %a)
  ret i32 %call
}


declare <16 x float> @_Z9_cl_ldexpDv16_fDv16_i(<16 x float>, <16 x i32>) local_unnamed_addr #0

define spir_func <16 x float> @_Z5ldexpDv16_fDv16_i(<16 x float> %a, <16 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z9_cl_ldexpDv16_fDv16_i(<16 x float> %a, <16 x i32> %b)
  ret <16 x float> %call
}


declare <16 x float> @_Z8_cl_pownDv16_fDv16_i(<16 x float>, <16 x i32>) local_unnamed_addr #0

define spir_func <16 x float> @_Z4pownDv16_fDv16_i(<16 x float> %a, <16 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z8_cl_pownDv16_fDv16_i(<16 x float> %a, <16 x i32> %b)
  ret <16 x float> %call
}


declare <16 x float> @_Z9_cl_rootnDv16_fDv16_i(<16 x float>, <16 x i32>) local_unnamed_addr #0

define spir_func <16 x float> @_Z5rootnDv16_fDv16_i(<16 x float> %a, <16 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z9_cl_rootnDv16_fDv16_i(<16 x float> %a, <16 x i32> %b)
  ret <16 x float> %call
}


declare <16 x float> @_Z10_cl_remquoDv16_fS_PU3AS1Dv16_i(<16 x float>, <16 x float>, <16 x i32> addrspace(1)*) local_unnamed_addr #0

define spir_func <16 x float> @_Z6remquoDv16_fS_PU3AS1Dv16_i(<16 x float> %a, <16 x float> %b, <16 x i32> addrspace(1)* %c) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z10_cl_remquoDv16_fS_PU3AS1Dv16_i(<16 x float> %a, <16 x float> %b, <16 x i32> addrspace(1)* %c)
  ret <16 x float> %call
}


declare <16 x float> @_Z10_cl_remquoDv16_fS_PU3AS3Dv16_i(<16 x float>, <16 x float>, <16 x i32> addrspace(3)*) local_unnamed_addr #0

define spir_func <16 x float> @_Z6remquoDv16_fS_PU3AS3Dv16_i(<16 x float> %a, <16 x float> %b, <16 x i32> addrspace(3)* %c) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z10_cl_remquoDv16_fS_PU3AS3Dv16_i(<16 x float> %a, <16 x float> %b, <16 x i32> addrspace(3)* %c)
  ret <16 x float> %call
}


declare <16 x float> @_Z10_cl_remquoDv16_fS_PDv16_i(<16 x float>, <16 x float>, <16 x i32> *) local_unnamed_addr #0

define spir_func <16 x float> @_Z6remquoDv16_fS_PDv16_i(<16 x float> %a, <16 x float> %b, <16 x i32> * %c) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z10_cl_remquoDv16_fS_PDv16_i(<16 x float> %a, <16 x float> %b, <16 x i32> * %c)
  ret <16 x float> %call
}


declare <16 x float> @_Z7_cl_nanDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x float> @_Z3nanDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z7_cl_nanDv16_j(<16 x i32> %a)
  ret <16 x float> %call
}


declare <16 x float> @_Z12_cl_lgamma_rDv16_fPU3AS1Dv16_i(<16 x float>, <16 x i32> addrspace(1)*) local_unnamed_addr #0

define spir_func <16 x float> @_Z8lgamma_rDv16_fPU3AS1Dv16_i(<16 x float> %a, <16 x i32> addrspace(1)* %b) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z12_cl_lgamma_rDv16_fPU3AS1Dv16_i(<16 x float> %a, <16 x i32> addrspace(1)* %b)
  ret <16 x float> %call
}


declare <16 x float> @_Z12_cl_lgamma_rDv16_fPU3AS3Dv16_i(<16 x float>, <16 x i32> addrspace(3)*) local_unnamed_addr #0

define spir_func <16 x float> @_Z8lgamma_rDv16_fPU3AS3Dv16_i(<16 x float> %a, <16 x i32> addrspace(3)* %b) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z12_cl_lgamma_rDv16_fPU3AS3Dv16_i(<16 x float> %a, <16 x i32> addrspace(3)* %b)
  ret <16 x float> %call
}


declare <16 x float> @_Z12_cl_lgamma_rDv16_fPDv16_i(<16 x float>, <16 x i32> *) local_unnamed_addr #0

define spir_func <16 x float> @_Z8lgamma_rDv16_fPDv16_i(<16 x float> %a, <16 x i32> * %b) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z12_cl_lgamma_rDv16_fPDv16_i(<16 x float> %a, <16 x i32> * %b)
  ret <16 x float> %call
}


declare <16 x float> @_Z9_cl_frexpDv16_fPU3AS1Dv16_i(<16 x float>, <16 x i32> addrspace(1)*) local_unnamed_addr #0

define spir_func <16 x float> @_Z5frexpDv16_fPU3AS1Dv16_i(<16 x float> %a, <16 x i32> addrspace(1)* %b) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z9_cl_frexpDv16_fPU3AS1Dv16_i(<16 x float> %a, <16 x i32> addrspace(1)* %b)
  ret <16 x float> %call
}


declare <16 x float> @_Z9_cl_frexpDv16_fPU3AS3Dv16_i(<16 x float>, <16 x i32> addrspace(3)*) local_unnamed_addr #0

define spir_func <16 x float> @_Z5frexpDv16_fPU3AS3Dv16_i(<16 x float> %a, <16 x i32> addrspace(3)* %b) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z9_cl_frexpDv16_fPU3AS3Dv16_i(<16 x float> %a, <16 x i32> addrspace(3)* %b)
  ret <16 x float> %call
}


declare <16 x float> @_Z9_cl_frexpDv16_fPDv16_i(<16 x float>, <16 x i32> *) local_unnamed_addr #0

define spir_func <16 x float> @_Z5frexpDv16_fPDv16_i(<16 x float> %a, <16 x i32> * %b) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z9_cl_frexpDv16_fPDv16_i(<16 x float> %a, <16 x i32> * %b)
  ret <16 x float> %call
}


declare <16 x float> @_Z10_cl_selectDv16_fS_Dv16_i(<16 x float>, <16 x float>, <16 x i32>) local_unnamed_addr #0

define spir_func <16 x float> @_Z6selectDv16_fS_Dv16_i(<16 x float> %a, <16 x float> %b, <16 x i32> %c) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z10_cl_selectDv16_fS_Dv16_i(<16 x float> %a, <16 x float> %b, <16 x i32> %c)
  ret <16 x float> %call
}


declare <16 x float> @_Z10_cl_selectDv16_fS_Dv16_j(<16 x float>, <16 x float>, <16 x i32>) local_unnamed_addr #0

define spir_func <16 x float> @_Z6selectDv16_fS_Dv16_j(<16 x float> %a, <16 x float> %b, <16 x i32> %c) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z10_cl_selectDv16_fS_Dv16_j(<16 x float> %a, <16 x float> %b, <16 x i32> %c)
  ret <16 x float> %call
}


declare <16 x i32> @_Z11_cl_signbitDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z7signbitDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z11_cl_signbitDv16_f(<16 x float> %a)
  ret <16 x i32> %call
}


declare <16 x i32> @_Z11_cl_isequalDv16_fS_(<16 x float>, <16 x float>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z7isequalDv16_fS_(<16 x float> %a, <16 x float> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z11_cl_isequalDv16_fS_(<16 x float> %a, <16 x float> %b)
  ret <16 x i32> %call
}


declare <16 x i32> @_Z14_cl_isnotequalDv16_fS_(<16 x float>, <16 x float>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z10isnotequalDv16_fS_(<16 x float> %a, <16 x float> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z14_cl_isnotequalDv16_fS_(<16 x float> %a, <16 x float> %b)
  ret <16 x i32> %call
}


declare <16 x i32> @_Z13_cl_isgreaterDv16_fS_(<16 x float>, <16 x float>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z9isgreaterDv16_fS_(<16 x float> %a, <16 x float> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z13_cl_isgreaterDv16_fS_(<16 x float> %a, <16 x float> %b)
  ret <16 x i32> %call
}


declare <16 x i32> @_Z18_cl_isgreaterequalDv16_fS_(<16 x float>, <16 x float>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z14isgreaterequalDv16_fS_(<16 x float> %a, <16 x float> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z18_cl_isgreaterequalDv16_fS_(<16 x float> %a, <16 x float> %b)
  ret <16 x i32> %call
}


declare <16 x i32> @_Z10_cl_islessDv16_fS_(<16 x float>, <16 x float>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z6islessDv16_fS_(<16 x float> %a, <16 x float> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z10_cl_islessDv16_fS_(<16 x float> %a, <16 x float> %b)
  ret <16 x i32> %call
}


declare <16 x i32> @_Z15_cl_islessequalDv16_fS_(<16 x float>, <16 x float>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z11islessequalDv16_fS_(<16 x float> %a, <16 x float> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z15_cl_islessequalDv16_fS_(<16 x float> %a, <16 x float> %b)
  ret <16 x i32> %call
}


declare <16 x i32> @_Z17_cl_islessgreaterDv16_fS_(<16 x float>, <16 x float>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z13islessgreaterDv16_fS_(<16 x float> %a, <16 x float> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z17_cl_islessgreaterDv16_fS_(<16 x float> %a, <16 x float> %b)
  ret <16 x i32> %call
}


declare <16 x i32> @_Z12_cl_isfiniteDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z8isfiniteDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z12_cl_isfiniteDv16_f(<16 x float> %a)
  ret <16 x i32> %call
}


declare <16 x i32> @_Z9_cl_isinfDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z5isinfDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z9_cl_isinfDv16_f(<16 x float> %a)
  ret <16 x i32> %call
}


declare <16 x i32> @_Z9_cl_isnanDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z5isnanDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z9_cl_isnanDv16_f(<16 x float> %a)
  ret <16 x i32> %call
}


declare <16 x i32> @_Z12_cl_isnormalDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z8isnormalDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z12_cl_isnormalDv16_f(<16 x float> %a)
  ret <16 x i32> %call
}


declare <16 x i32> @_Z13_cl_isorderedDv16_fS_(<16 x float>, <16 x float>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z9isorderedDv16_fS_(<16 x float> %a, <16 x float> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z13_cl_isorderedDv16_fS_(<16 x float> %a, <16 x float> %b)
  ret <16 x i32> %call
}


declare <16 x i32> @_Z15_cl_isunorderedDv16_fS_(<16 x float>, <16 x float>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z11isunorderedDv16_fS_(<16 x float> %a, <16 x float> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z15_cl_isunorderedDv16_fS_(<16 x float> %a, <16 x float> %b)
  ret <16 x i32> %call
}


declare double @_Z8_cl_acosd(double) local_unnamed_addr #0

define spir_func double @_Z4acosd(double %a) local_unnamed_addr #0 {
  %call = tail call double @_Z8_cl_acosd(double %a)
  ret double %call
}


declare double @_Z9_cl_acoshd(double) local_unnamed_addr #0

define spir_func double @_Z5acoshd(double %a) local_unnamed_addr #0 {
  %call = tail call double @_Z9_cl_acoshd(double %a)
  ret double %call
}


declare double @_Z10_cl_acospid(double) local_unnamed_addr #0

define spir_func double @_Z6acospid(double %a) local_unnamed_addr #0 {
  %call = tail call double @_Z10_cl_acospid(double %a)
  ret double %call
}


declare double @_Z8_cl_asind(double) local_unnamed_addr #0

define spir_func double @_Z4asind(double %a) local_unnamed_addr #0 {
  %call = tail call double @_Z8_cl_asind(double %a)
  ret double %call
}


declare double @_Z9_cl_asinhd(double) local_unnamed_addr #0

define spir_func double @_Z5asinhd(double %a) local_unnamed_addr #0 {
  %call = tail call double @_Z9_cl_asinhd(double %a)
  ret double %call
}


declare double @_Z10_cl_asinpid(double) local_unnamed_addr #0

define spir_func double @_Z6asinpid(double %a) local_unnamed_addr #0 {
  %call = tail call double @_Z10_cl_asinpid(double %a)
  ret double %call
}


declare double @_Z8_cl_atand(double) local_unnamed_addr #0

define spir_func double @_Z4atand(double %a) local_unnamed_addr #0 {
  %call = tail call double @_Z8_cl_atand(double %a)
  ret double %call
}


declare double @_Z9_cl_atanhd(double) local_unnamed_addr #0

define spir_func double @_Z5atanhd(double %a) local_unnamed_addr #0 {
  %call = tail call double @_Z9_cl_atanhd(double %a)
  ret double %call
}


declare double @_Z10_cl_atanpid(double) local_unnamed_addr #0

define spir_func double @_Z6atanpid(double %a) local_unnamed_addr #0 {
  %call = tail call double @_Z10_cl_atanpid(double %a)
  ret double %call
}


declare double @_Z8_cl_cbrtd(double) local_unnamed_addr #0

define spir_func double @_Z4cbrtd(double %a) local_unnamed_addr #0 {
  %call = tail call double @_Z8_cl_cbrtd(double %a)
  ret double %call
}


declare double @_Z8_cl_ceild(double) local_unnamed_addr #0

define spir_func double @_Z4ceild(double %a) local_unnamed_addr #0 {
  %call = tail call double @_Z8_cl_ceild(double %a)
  ret double %call
}


declare double @_Z7_cl_cosd(double) local_unnamed_addr #0

define spir_func double @_Z3cosd(double %a) local_unnamed_addr #0 {
  %call = tail call double @_Z7_cl_cosd(double %a)
  ret double %call
}


declare double @_Z8_cl_coshd(double) local_unnamed_addr #0

define spir_func double @_Z4coshd(double %a) local_unnamed_addr #0 {
  %call = tail call double @_Z8_cl_coshd(double %a)
  ret double %call
}


declare double @_Z9_cl_cospid(double) local_unnamed_addr #0

define spir_func double @_Z5cospid(double %a) local_unnamed_addr #0 {
  %call = tail call double @_Z9_cl_cospid(double %a)
  ret double %call
}


declare double @_Z8_cl_erfcd(double) local_unnamed_addr #0

define spir_func double @_Z4erfcd(double %a) local_unnamed_addr #0 {
  %call = tail call double @_Z8_cl_erfcd(double %a)
  ret double %call
}


declare double @_Z7_cl_erfd(double) local_unnamed_addr #0

define spir_func double @_Z3erfd(double %a) local_unnamed_addr #0 {
  %call = tail call double @_Z7_cl_erfd(double %a)
  ret double %call
}


declare double @_Z7_cl_expd(double) local_unnamed_addr #0

define spir_func double @_Z3expd(double %a) local_unnamed_addr #0 {
  %call = tail call double @_Z7_cl_expd(double %a)
  ret double %call
}


declare double @_Z8_cl_exp2d(double) local_unnamed_addr #0

define spir_func double @_Z4exp2d(double %a) local_unnamed_addr #0 {
  %call = tail call double @_Z8_cl_exp2d(double %a)
  ret double %call
}


declare double @_Z9_cl_exp10d(double) local_unnamed_addr #0

define spir_func double @_Z5exp10d(double %a) local_unnamed_addr #0 {
  %call = tail call double @_Z9_cl_exp10d(double %a)
  ret double %call
}


declare double @_Z9_cl_expm1d(double) local_unnamed_addr #0

define spir_func double @_Z5expm1d(double %a) local_unnamed_addr #0 {
  %call = tail call double @_Z9_cl_expm1d(double %a)
  ret double %call
}


declare double @_Z8_cl_fabsd(double) local_unnamed_addr #0

define spir_func double @_Z4fabsd(double %a) local_unnamed_addr #0 {
  %call = tail call double @_Z8_cl_fabsd(double %a)
  ret double %call
}


declare double @_Z9_cl_floord(double) local_unnamed_addr #0

define spir_func double @_Z5floord(double %a) local_unnamed_addr #0 {
  %call = tail call double @_Z9_cl_floord(double %a)
  ret double %call
}


declare double @_Z10_cl_lgammad(double) local_unnamed_addr #0

define spir_func double @_Z6lgammad(double %a) local_unnamed_addr #0 {
  %call = tail call double @_Z10_cl_lgammad(double %a)
  ret double %call
}


declare double @_Z7_cl_logd(double) local_unnamed_addr #0

define spir_func double @_Z3logd(double %a) local_unnamed_addr #0 {
  %call = tail call double @_Z7_cl_logd(double %a)
  ret double %call
}


declare double @_Z9_cl_log10d(double) local_unnamed_addr #0

define spir_func double @_Z5log10d(double %a) local_unnamed_addr #0 {
  %call = tail call double @_Z9_cl_log10d(double %a)
  ret double %call
}


declare double @_Z8_cl_log2d(double) local_unnamed_addr #0

define spir_func double @_Z4log2d(double %a) local_unnamed_addr #0 {
  %call = tail call double @_Z8_cl_log2d(double %a)
  ret double %call
}


declare double @_Z9_cl_log1pd(double) local_unnamed_addr #0

define spir_func double @_Z5log1pd(double %a) local_unnamed_addr #0 {
  %call = tail call double @_Z9_cl_log1pd(double %a)
  ret double %call
}


declare double @_Z8_cl_logbd(double) local_unnamed_addr #0

define spir_func double @_Z4logbd(double %a) local_unnamed_addr #0 {
  %call = tail call double @_Z8_cl_logbd(double %a)
  ret double %call
}


declare double @_Z8_cl_rintd(double) local_unnamed_addr #0

define spir_func double @_Z4rintd(double %a) local_unnamed_addr #0 {
  %call = tail call double @_Z8_cl_rintd(double %a)
  ret double %call
}


declare double @_Z9_cl_roundd(double) local_unnamed_addr #0

define spir_func double @_Z5roundd(double %a) local_unnamed_addr #0 {
  %call = tail call double @_Z9_cl_roundd(double %a)
  ret double %call
}


declare double @_Z9_cl_rsqrtd(double) local_unnamed_addr #0

define spir_func double @_Z5rsqrtd(double %a) local_unnamed_addr #0 {
  %call = tail call double @_Z9_cl_rsqrtd(double %a)
  ret double %call
}


declare double @_Z7_cl_sind(double) local_unnamed_addr #0

define spir_func double @_Z3sind(double %a) local_unnamed_addr #0 {
  %call = tail call double @_Z7_cl_sind(double %a)
  ret double %call
}


declare double @_Z8_cl_sinhd(double) local_unnamed_addr #0

define spir_func double @_Z4sinhd(double %a) local_unnamed_addr #0 {
  %call = tail call double @_Z8_cl_sinhd(double %a)
  ret double %call
}


declare double @_Z9_cl_sinpid(double) local_unnamed_addr #0

define spir_func double @_Z5sinpid(double %a) local_unnamed_addr #0 {
  %call = tail call double @_Z9_cl_sinpid(double %a)
  ret double %call
}


declare double @_Z8_cl_sqrtd(double) local_unnamed_addr #0

define spir_func double @_Z4sqrtd(double %a) local_unnamed_addr #0 {
  %call = tail call double @_Z8_cl_sqrtd(double %a)
  ret double %call
}


declare double @_Z7_cl_tand(double) local_unnamed_addr #0

define spir_func double @_Z3tand(double %a) local_unnamed_addr #0 {
  %call = tail call double @_Z7_cl_tand(double %a)
  ret double %call
}


declare double @_Z8_cl_tanhd(double) local_unnamed_addr #0

define spir_func double @_Z4tanhd(double %a) local_unnamed_addr #0 {
  %call = tail call double @_Z8_cl_tanhd(double %a)
  ret double %call
}


declare double @_Z9_cl_tanpid(double) local_unnamed_addr #0

define spir_func double @_Z5tanpid(double %a) local_unnamed_addr #0 {
  %call = tail call double @_Z9_cl_tanpid(double %a)
  ret double %call
}


declare double @_Z10_cl_tgammad(double) local_unnamed_addr #0

define spir_func double @_Z6tgammad(double %a) local_unnamed_addr #0 {
  %call = tail call double @_Z10_cl_tgammad(double %a)
  ret double %call
}


declare double @_Z9_cl_truncd(double) local_unnamed_addr #0

define spir_func double @_Z5truncd(double %a) local_unnamed_addr #0 {
  %call = tail call double @_Z9_cl_truncd(double %a)
  ret double %call
}


declare double @_Z14_cl_native_cosd(double) local_unnamed_addr #0

define spir_func double @_Z10native_cosd(double %a) local_unnamed_addr #0 {
  %call = tail call double @_Z14_cl_native_cosd(double %a)
  ret double %call
}


declare double @_Z14_cl_native_expd(double) local_unnamed_addr #0

define spir_func double @_Z10native_expd(double %a) local_unnamed_addr #0 {
  %call = tail call double @_Z14_cl_native_expd(double %a)
  ret double %call
}


declare double @_Z15_cl_native_exp2d(double) local_unnamed_addr #0

define spir_func double @_Z11native_exp2d(double %a) local_unnamed_addr #0 {
  %call = tail call double @_Z15_cl_native_exp2d(double %a)
  ret double %call
}


declare double @_Z16_cl_native_exp10d(double) local_unnamed_addr #0

define spir_func double @_Z12native_exp10d(double %a) local_unnamed_addr #0 {
  %call = tail call double @_Z16_cl_native_exp10d(double %a)
  ret double %call
}


declare double @_Z14_cl_native_logd(double) local_unnamed_addr #0

define spir_func double @_Z10native_logd(double %a) local_unnamed_addr #0 {
  %call = tail call double @_Z14_cl_native_logd(double %a)
  ret double %call
}


declare double @_Z15_cl_native_log2d(double) local_unnamed_addr #0

define spir_func double @_Z11native_log2d(double %a) local_unnamed_addr #0 {
  %call = tail call double @_Z15_cl_native_log2d(double %a)
  ret double %call
}


declare double @_Z16_cl_native_log10d(double) local_unnamed_addr #0

define spir_func double @_Z12native_log10d(double %a) local_unnamed_addr #0 {
  %call = tail call double @_Z16_cl_native_log10d(double %a)
  ret double %call
}


declare double @_Z16_cl_native_recipd(double) local_unnamed_addr #0

define spir_func double @_Z12native_recipd(double %a) local_unnamed_addr #0 {
  %call = tail call double @_Z16_cl_native_recipd(double %a)
  ret double %call
}


declare double @_Z16_cl_native_rsqrtd(double) local_unnamed_addr #0

define spir_func double @_Z12native_rsqrtd(double %a) local_unnamed_addr #0 {
  %call = tail call double @_Z16_cl_native_rsqrtd(double %a)
  ret double %call
}


declare double @_Z14_cl_native_sind(double) local_unnamed_addr #0

define spir_func double @_Z10native_sind(double %a) local_unnamed_addr #0 {
  %call = tail call double @_Z14_cl_native_sind(double %a)
  ret double %call
}


declare double @_Z15_cl_native_sqrtd(double) local_unnamed_addr #0

define spir_func double @_Z11native_sqrtd(double %a) local_unnamed_addr #0 {
  %call = tail call double @_Z15_cl_native_sqrtd(double %a)
  ret double %call
}


declare double @_Z14_cl_native_tand(double) local_unnamed_addr #0

define spir_func double @_Z10native_tand(double %a) local_unnamed_addr #0 {
  %call = tail call double @_Z14_cl_native_tand(double %a)
  ret double %call
}


declare double @_Z11_cl_degreesd(double) local_unnamed_addr #0

define spir_func double @_Z7degreesd(double %a) local_unnamed_addr #0 {
  %call = tail call double @_Z11_cl_degreesd(double %a)
  ret double %call
}


declare double @_Z11_cl_radiansd(double) local_unnamed_addr #0

define spir_func double @_Z7radiansd(double %a) local_unnamed_addr #0 {
  %call = tail call double @_Z11_cl_radiansd(double %a)
  ret double %call
}


declare double @_Z8_cl_signd(double) local_unnamed_addr #0

define spir_func double @_Z4signd(double %a) local_unnamed_addr #0 {
  %call = tail call double @_Z8_cl_signd(double %a)
  ret double %call
}


declare double @_Z9_cl_atan2dd(double, double) local_unnamed_addr #0

define spir_func double @_Z5atan2dd(double %a, double %b) local_unnamed_addr #0 {
  %call = tail call double @_Z9_cl_atan2dd(double %a, double %b)
  ret double %call
}


declare double @_Z11_cl_atan2pidd(double, double) local_unnamed_addr #0

define spir_func double @_Z7atan2pidd(double %a, double %b) local_unnamed_addr #0 {
  %call = tail call double @_Z11_cl_atan2pidd(double %a, double %b)
  ret double %call
}


declare double @_Z12_cl_copysigndd(double, double) local_unnamed_addr #0

define spir_func double @_Z8copysigndd(double %a, double %b) local_unnamed_addr #0 {
  %call = tail call double @_Z12_cl_copysigndd(double %a, double %b)
  ret double %call
}


declare double @_Z8_cl_fdimdd(double, double) local_unnamed_addr #0

define spir_func double @_Z4fdimdd(double %a, double %b) local_unnamed_addr #0 {
  %call = tail call double @_Z8_cl_fdimdd(double %a, double %b)
  ret double %call
}


declare double @_Z8_cl_fmaxdd(double, double) local_unnamed_addr #0

define spir_func double @_Z4fmaxdd(double %a, double %b) local_unnamed_addr #0 {
  %call = tail call double @_Z8_cl_fmaxdd(double %a, double %b)
  ret double %call
}


declare double @_Z8_cl_fmindd(double, double) local_unnamed_addr #0

define spir_func double @_Z4fmindd(double %a, double %b) local_unnamed_addr #0 {
  %call = tail call double @_Z8_cl_fmindd(double %a, double %b)
  ret double %call
}


declare double @_Z8_cl_fmoddd(double, double) local_unnamed_addr #0

define spir_func double @_Z4fmoddd(double %a, double %b) local_unnamed_addr #0 {
  %call = tail call double @_Z8_cl_fmoddd(double %a, double %b)
  ret double %call
}


declare double @_Z9_cl_hypotdd(double, double) local_unnamed_addr #0

define spir_func double @_Z5hypotdd(double %a, double %b) local_unnamed_addr #0 {
  %call = tail call double @_Z9_cl_hypotdd(double %a, double %b)
  ret double %call
}


declare double @_Z13_cl_nextafterdd(double, double) local_unnamed_addr #0

define spir_func double @_Z9nextafterdd(double %a, double %b) local_unnamed_addr #0 {
  %call = tail call double @_Z13_cl_nextafterdd(double %a, double %b)
  ret double %call
}


declare double @_Z7_cl_powdd(double, double) local_unnamed_addr #0

define spir_func double @_Z3powdd(double %a, double %b) local_unnamed_addr #0 {
  %call = tail call double @_Z7_cl_powdd(double %a, double %b)
  ret double %call
}


declare double @_Z8_cl_powrdd(double, double) local_unnamed_addr #0

define spir_func double @_Z4powrdd(double %a, double %b) local_unnamed_addr #0 {
  %call = tail call double @_Z8_cl_powrdd(double %a, double %b)
  ret double %call
}


declare double @_Z10_cl_maxmagdd(double, double) local_unnamed_addr #0

define spir_func double @_Z6maxmagdd(double %a, double %b) local_unnamed_addr #0 {
  %call = tail call double @_Z10_cl_maxmagdd(double %a, double %b)
  ret double %call
}


declare double @_Z10_cl_minmagdd(double, double) local_unnamed_addr #0

define spir_func double @_Z6minmagdd(double %a, double %b) local_unnamed_addr #0 {
  %call = tail call double @_Z10_cl_minmagdd(double %a, double %b)
  ret double %call
}


declare double @_Z13_cl_remainderdd(double, double) local_unnamed_addr #0

define spir_func double @_Z9remainderdd(double %a, double %b) local_unnamed_addr #0 {
  %call = tail call double @_Z13_cl_remainderdd(double %a, double %b)
  ret double %call
}


declare double @_Z17_cl_native_dividedd(double, double) local_unnamed_addr #0

define spir_func double @_Z13native_dividedd(double %a, double %b) local_unnamed_addr #0 {
  %call = tail call double @_Z17_cl_native_dividedd(double %a, double %b)
  ret double %call
}


declare double @_Z15_cl_native_powrdd(double, double) local_unnamed_addr #0

define spir_func double @_Z11native_powrdd(double %a, double %b) local_unnamed_addr #0 {
  %call = tail call double @_Z15_cl_native_powrdd(double %a, double %b)
  ret double %call
}


declare double @_Z7_cl_maxdd(double, double) local_unnamed_addr #0

define spir_func double @_Z3maxdd(double %a, double %b) local_unnamed_addr #0 {
  %call = tail call double @_Z7_cl_maxdd(double %a, double %b)
  ret double %call
}


declare double @_Z7_cl_mindd(double, double) local_unnamed_addr #0

define spir_func double @_Z3mindd(double %a, double %b) local_unnamed_addr #0 {
  %call = tail call double @_Z7_cl_mindd(double %a, double %b)
  ret double %call
}


declare double @_Z8_cl_stepdd(double, double) local_unnamed_addr #0

define spir_func double @_Z4stepdd(double %a, double %b) local_unnamed_addr #0 {
  %call = tail call double @_Z8_cl_stepdd(double %a, double %b)
  ret double %call
}


declare double @_Z9_cl_fractdPU3AS1d(double, ptr addrspace(1)) local_unnamed_addr #0

define spir_func double @_Z5fractdPU3AS1d(double %a, ptr addrspace(1) %b) local_unnamed_addr #0 {
  %call = tail call double @_Z9_cl_fractdPU3AS1d(double %a, ptr addrspace(1) %b)
  ret double %call
}


declare double @_Z9_cl_fractdPU3AS3d(double, ptr addrspace(3)) local_unnamed_addr #0

define spir_func double @_Z5fractdPU3AS3d(double %a, ptr addrspace(3) %b) local_unnamed_addr #0 {
  %call = tail call double @_Z9_cl_fractdPU3AS3d(double %a, ptr addrspace(3) %b)
  ret double %call
}


declare double @_Z9_cl_fractdPd(double, double *) local_unnamed_addr #0

define spir_func double @_Z5fractdPd(double %a, double * %b) local_unnamed_addr #0 {
  %call = tail call double @_Z9_cl_fractdPd(double %a, double * %b)
  ret double %call
}


declare double @_Z10_cl_sincosdPU3AS1d(double, ptr addrspace(1)) local_unnamed_addr #0

define spir_func double @_Z6sincosdPU3AS1d(double %a, ptr addrspace(1) %b) local_unnamed_addr #0 {
  %call = tail call double @_Z10_cl_sincosdPU3AS1d(double %a, ptr addrspace(1) %b)
  ret double %call
}


declare double @_Z10_cl_sincosdPU3AS3d(double, ptr addrspace(3)) local_unnamed_addr #0

define spir_func double @_Z6sincosdPU3AS3d(double %a, ptr addrspace(3) %b) local_unnamed_addr #0 {
  %call = tail call double @_Z10_cl_sincosdPU3AS3d(double %a, ptr addrspace(3) %b)
  ret double %call
}


declare double @_Z10_cl_sincosdPd(double, double *) local_unnamed_addr #0

define spir_func double @_Z6sincosdPd(double %a, double * %b) local_unnamed_addr #0 {
  %call = tail call double @_Z10_cl_sincosdPd(double %a, double * %b)
  ret double %call
}


declare double @_Z8_cl_modfdPU3AS1d(double, ptr addrspace(1)) local_unnamed_addr #0

define spir_func double @_Z4modfdPU3AS1d(double %a, ptr addrspace(1) %b) local_unnamed_addr #0 {
  %call = tail call double @_Z8_cl_modfdPU3AS1d(double %a, ptr addrspace(1) %b)
  ret double %call
}


declare double @_Z8_cl_modfdPU3AS3d(double, ptr addrspace(3)) local_unnamed_addr #0

define spir_func double @_Z4modfdPU3AS3d(double %a, ptr addrspace(3) %b) local_unnamed_addr #0 {
  %call = tail call double @_Z8_cl_modfdPU3AS3d(double %a, ptr addrspace(3) %b)
  ret double %call
}


declare double @_Z8_cl_modfdPd(double, double *) local_unnamed_addr #0

define spir_func double @_Z4modfdPd(double %a, double * %b) local_unnamed_addr #0 {
  %call = tail call double @_Z8_cl_modfdPd(double %a, double * %b)
  ret double %call
}


declare double @_Z13_cl_bitselectddd(double, double, double) local_unnamed_addr #0

define spir_func double @_Z9bitselectddd(double %a, double %b, double %c) local_unnamed_addr #0 {
  %call = tail call double @_Z13_cl_bitselectddd(double %a, double %b, double %c)
  ret double %call
}


declare double @_Z9_cl_clampddd(double, double, double) local_unnamed_addr #0

define spir_func double @_Z5clampddd(double %a, double %b, double %c) local_unnamed_addr #0 {
  %call = tail call double @_Z9_cl_clampddd(double %a, double %b, double %c)
  ret double %call
}


declare double @_Z7_cl_fmaddd(double, double, double) local_unnamed_addr #0

define spir_func double @_Z3fmaddd(double %a, double %b, double %c) local_unnamed_addr #0 {
  %call = tail call double @_Z7_cl_fmaddd(double %a, double %b, double %c)
  ret double %call
}


declare double @_Z7_cl_madddd(double, double, double) local_unnamed_addr #0

define spir_func double @_Z3madddd(double %a, double %b, double %c) local_unnamed_addr #0 {
  %call = tail call double @_Z7_cl_madddd(double %a, double %b, double %c)
  ret double %call
}


declare double @_Z7_cl_mixddd(double, double, double) local_unnamed_addr #0

define spir_func double @_Z3mixddd(double %a, double %b, double %c) local_unnamed_addr #0 {
  %call = tail call double @_Z7_cl_mixddd(double %a, double %b, double %c)
  ret double %call
}


declare double @_Z14_cl_smoothstepddd(double, double, double) local_unnamed_addr #0

define spir_func double @_Z10smoothstepddd(double %a, double %b, double %c) local_unnamed_addr #0 {
  %call = tail call double @_Z14_cl_smoothstepddd(double %a, double %b, double %c)
  ret double %call
}


declare i32 @_Z9_cl_ilogbd(double) local_unnamed_addr #0

define spir_func i32 @_Z5ilogbd(double %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z9_cl_ilogbd(double %a)
  ret i32 %call
}


declare double @_Z9_cl_ldexpdi(double, i32) local_unnamed_addr #0

define spir_func double @_Z5ldexpdi(double %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call double @_Z9_cl_ldexpdi(double %a, i32 %b)
  ret double %call
}


declare double @_Z8_cl_powndi(double, i32) local_unnamed_addr #0

define spir_func double @_Z4powndi(double %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call double @_Z8_cl_powndi(double %a, i32 %b)
  ret double %call
}


declare double @_Z9_cl_rootndi(double, i32) local_unnamed_addr #0

define spir_func double @_Z5rootndi(double %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call double @_Z9_cl_rootndi(double %a, i32 %b)
  ret double %call
}


declare double @_Z10_cl_remquoddPU3AS1i(double, double, ptr addrspace(1)) local_unnamed_addr #0

define spir_func double @_Z6remquoddPU3AS1i(double %a, double %b, ptr addrspace(1) %c) local_unnamed_addr #0 {
  %call = tail call double @_Z10_cl_remquoddPU3AS1i(double %a, double %b, ptr addrspace(1) %c)
  ret double %call
}


declare double @_Z10_cl_remquoddPU3AS3i(double, double, ptr addrspace(3)) local_unnamed_addr #0

define spir_func double @_Z6remquoddPU3AS3i(double %a, double %b, ptr addrspace(3) %c) local_unnamed_addr #0 {
  %call = tail call double @_Z10_cl_remquoddPU3AS3i(double %a, double %b, ptr addrspace(3) %c)
  ret double %call
}


declare double @_Z10_cl_remquoddPi(double, double, i32 *) local_unnamed_addr #0

define spir_func double @_Z6remquoddPi(double %a, double %b, i32 * %c) local_unnamed_addr #0 {
  %call = tail call double @_Z10_cl_remquoddPi(double %a, double %b, i32 * %c)
  ret double %call
}


declare double @_Z7_cl_nanm(i64) local_unnamed_addr #0

define spir_func double @_Z3nanm(i64 %a) local_unnamed_addr #0 {
  %call = tail call double @_Z7_cl_nanm(i64 %a)
  ret double %call
}


declare double @_Z12_cl_lgamma_rdPU3AS1i(double, ptr addrspace(1)) local_unnamed_addr #0

define spir_func double @_Z8lgamma_rdPU3AS1i(double %a, ptr addrspace(1) %b) local_unnamed_addr #0 {
  %call = tail call double @_Z12_cl_lgamma_rdPU3AS1i(double %a, ptr addrspace(1) %b)
  ret double %call
}


declare double @_Z12_cl_lgamma_rdPU3AS3i(double, ptr addrspace(3)) local_unnamed_addr #0

define spir_func double @_Z8lgamma_rdPU3AS3i(double %a, ptr addrspace(3) %b) local_unnamed_addr #0 {
  %call = tail call double @_Z12_cl_lgamma_rdPU3AS3i(double %a, ptr addrspace(3) %b)
  ret double %call
}


declare double @_Z12_cl_lgamma_rdPi(double, i32 *) local_unnamed_addr #0

define spir_func double @_Z8lgamma_rdPi(double %a, i32 * %b) local_unnamed_addr #0 {
  %call = tail call double @_Z12_cl_lgamma_rdPi(double %a, i32 * %b)
  ret double %call
}


declare double @_Z9_cl_frexpdPU3AS1i(double, ptr addrspace(1)) local_unnamed_addr #0

define spir_func double @_Z5frexpdPU3AS1i(double %a, ptr addrspace(1) %b) local_unnamed_addr #0 {
  %call = tail call double @_Z9_cl_frexpdPU3AS1i(double %a, ptr addrspace(1) %b)
  ret double %call
}


declare double @_Z9_cl_frexpdPU3AS3i(double, ptr addrspace(3)) local_unnamed_addr #0

define spir_func double @_Z5frexpdPU3AS3i(double %a, ptr addrspace(3) %b) local_unnamed_addr #0 {
  %call = tail call double @_Z9_cl_frexpdPU3AS3i(double %a, ptr addrspace(3) %b)
  ret double %call
}


declare double @_Z9_cl_frexpdPi(double, i32 *) local_unnamed_addr #0

define spir_func double @_Z5frexpdPi(double %a, i32 * %b) local_unnamed_addr #0 {
  %call = tail call double @_Z9_cl_frexpdPi(double %a, i32 * %b)
  ret double %call
}


declare double @_Z10_cl_selectddl(double, double, i64) local_unnamed_addr #0

define spir_func double @_Z6selectddl(double %a, double %b, i64 %c) local_unnamed_addr #0 {
  %call = tail call double @_Z10_cl_selectddl(double %a, double %b, i64 %c)
  ret double %call
}


declare double @_Z10_cl_selectddm(double, double, i64) local_unnamed_addr #0

define spir_func double @_Z6selectddm(double %a, double %b, i64 %c) local_unnamed_addr #0 {
  %call = tail call double @_Z10_cl_selectddm(double %a, double %b, i64 %c)
  ret double %call
}


declare i32 @_Z11_cl_signbitd(double) local_unnamed_addr #0

define spir_func i32 @_Z7signbitd(double %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z11_cl_signbitd(double %a)
  ret i32 %call
}


declare i32 @_Z11_cl_isequaldd(double, double) local_unnamed_addr #0

define spir_func i32 @_Z7isequaldd(double %a, double %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z11_cl_isequaldd(double %a, double %b)
  ret i32 %call
}


declare i32 @_Z14_cl_isnotequaldd(double, double) local_unnamed_addr #0

define spir_func i32 @_Z10isnotequaldd(double %a, double %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z14_cl_isnotequaldd(double %a, double %b)
  ret i32 %call
}


declare i32 @_Z13_cl_isgreaterdd(double, double) local_unnamed_addr #0

define spir_func i32 @_Z9isgreaterdd(double %a, double %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z13_cl_isgreaterdd(double %a, double %b)
  ret i32 %call
}


declare i32 @_Z18_cl_isgreaterequaldd(double, double) local_unnamed_addr #0

define spir_func i32 @_Z14isgreaterequaldd(double %a, double %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z18_cl_isgreaterequaldd(double %a, double %b)
  ret i32 %call
}


declare i32 @_Z10_cl_islessdd(double, double) local_unnamed_addr #0

define spir_func i32 @_Z6islessdd(double %a, double %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z10_cl_islessdd(double %a, double %b)
  ret i32 %call
}


declare i32 @_Z15_cl_islessequaldd(double, double) local_unnamed_addr #0

define spir_func i32 @_Z11islessequaldd(double %a, double %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z15_cl_islessequaldd(double %a, double %b)
  ret i32 %call
}


declare i32 @_Z17_cl_islessgreaterdd(double, double) local_unnamed_addr #0

define spir_func i32 @_Z13islessgreaterdd(double %a, double %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z17_cl_islessgreaterdd(double %a, double %b)
  ret i32 %call
}


declare i32 @_Z12_cl_isfinited(double) local_unnamed_addr #0

define spir_func i32 @_Z8isfinited(double %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z12_cl_isfinited(double %a)
  ret i32 %call
}


declare i32 @_Z9_cl_isinfd(double) local_unnamed_addr #0

define spir_func i32 @_Z5isinfd(double %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z9_cl_isinfd(double %a)
  ret i32 %call
}


declare i32 @_Z9_cl_isnand(double) local_unnamed_addr #0

define spir_func i32 @_Z5isnand(double %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z9_cl_isnand(double %a)
  ret i32 %call
}


declare i32 @_Z12_cl_isnormald(double) local_unnamed_addr #0

define spir_func i32 @_Z8isnormald(double %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z12_cl_isnormald(double %a)
  ret i32 %call
}


declare i32 @_Z13_cl_isordereddd(double, double) local_unnamed_addr #0

define spir_func i32 @_Z9isordereddd(double %a, double %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z13_cl_isordereddd(double %a, double %b)
  ret i32 %call
}


declare i32 @_Z15_cl_isunordereddd(double, double) local_unnamed_addr #0

define spir_func i32 @_Z11isunordereddd(double %a, double %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z15_cl_isunordereddd(double %a, double %b)
  ret i32 %call
}


declare <2 x double> @_Z8_cl_acosDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z4acosDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z8_cl_acosDv2_d(<2 x double> %a)
  ret <2 x double> %call
}


declare <2 x double> @_Z9_cl_acoshDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z5acoshDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z9_cl_acoshDv2_d(<2 x double> %a)
  ret <2 x double> %call
}


declare <2 x double> @_Z10_cl_acospiDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z6acospiDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z10_cl_acospiDv2_d(<2 x double> %a)
  ret <2 x double> %call
}


declare <2 x double> @_Z8_cl_asinDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z4asinDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z8_cl_asinDv2_d(<2 x double> %a)
  ret <2 x double> %call
}


declare <2 x double> @_Z9_cl_asinhDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z5asinhDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z9_cl_asinhDv2_d(<2 x double> %a)
  ret <2 x double> %call
}


declare <2 x double> @_Z10_cl_asinpiDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z6asinpiDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z10_cl_asinpiDv2_d(<2 x double> %a)
  ret <2 x double> %call
}


declare <2 x double> @_Z8_cl_atanDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z4atanDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z8_cl_atanDv2_d(<2 x double> %a)
  ret <2 x double> %call
}


declare <2 x double> @_Z9_cl_atanhDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z5atanhDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z9_cl_atanhDv2_d(<2 x double> %a)
  ret <2 x double> %call
}


declare <2 x double> @_Z10_cl_atanpiDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z6atanpiDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z10_cl_atanpiDv2_d(<2 x double> %a)
  ret <2 x double> %call
}


declare <2 x double> @_Z8_cl_cbrtDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z4cbrtDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z8_cl_cbrtDv2_d(<2 x double> %a)
  ret <2 x double> %call
}


declare <2 x double> @_Z8_cl_ceilDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z4ceilDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z8_cl_ceilDv2_d(<2 x double> %a)
  ret <2 x double> %call
}


declare <2 x double> @_Z7_cl_cosDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z3cosDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z7_cl_cosDv2_d(<2 x double> %a)
  ret <2 x double> %call
}


declare <2 x double> @_Z8_cl_coshDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z4coshDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z8_cl_coshDv2_d(<2 x double> %a)
  ret <2 x double> %call
}


declare <2 x double> @_Z9_cl_cospiDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z5cospiDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z9_cl_cospiDv2_d(<2 x double> %a)
  ret <2 x double> %call
}


declare <2 x double> @_Z8_cl_erfcDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z4erfcDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z8_cl_erfcDv2_d(<2 x double> %a)
  ret <2 x double> %call
}


declare <2 x double> @_Z7_cl_erfDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z3erfDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z7_cl_erfDv2_d(<2 x double> %a)
  ret <2 x double> %call
}


declare <2 x double> @_Z7_cl_expDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z3expDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z7_cl_expDv2_d(<2 x double> %a)
  ret <2 x double> %call
}


declare <2 x double> @_Z8_cl_exp2Dv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z4exp2Dv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z8_cl_exp2Dv2_d(<2 x double> %a)
  ret <2 x double> %call
}


declare <2 x double> @_Z9_cl_exp10Dv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z5exp10Dv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z9_cl_exp10Dv2_d(<2 x double> %a)
  ret <2 x double> %call
}


declare <2 x double> @_Z9_cl_expm1Dv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z5expm1Dv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z9_cl_expm1Dv2_d(<2 x double> %a)
  ret <2 x double> %call
}


declare <2 x double> @_Z8_cl_fabsDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z4fabsDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z8_cl_fabsDv2_d(<2 x double> %a)
  ret <2 x double> %call
}


declare <2 x double> @_Z9_cl_floorDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z5floorDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z9_cl_floorDv2_d(<2 x double> %a)
  ret <2 x double> %call
}


declare <2 x double> @_Z10_cl_lgammaDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z6lgammaDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z10_cl_lgammaDv2_d(<2 x double> %a)
  ret <2 x double> %call
}


declare <2 x double> @_Z7_cl_logDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z3logDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z7_cl_logDv2_d(<2 x double> %a)
  ret <2 x double> %call
}


declare <2 x double> @_Z9_cl_log10Dv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z5log10Dv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z9_cl_log10Dv2_d(<2 x double> %a)
  ret <2 x double> %call
}


declare <2 x double> @_Z8_cl_log2Dv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z4log2Dv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z8_cl_log2Dv2_d(<2 x double> %a)
  ret <2 x double> %call
}


declare <2 x double> @_Z9_cl_log1pDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z5log1pDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z9_cl_log1pDv2_d(<2 x double> %a)
  ret <2 x double> %call
}


declare <2 x double> @_Z8_cl_logbDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z4logbDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z8_cl_logbDv2_d(<2 x double> %a)
  ret <2 x double> %call
}


declare <2 x double> @_Z8_cl_rintDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z4rintDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z8_cl_rintDv2_d(<2 x double> %a)
  ret <2 x double> %call
}


declare <2 x double> @_Z9_cl_roundDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z5roundDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z9_cl_roundDv2_d(<2 x double> %a)
  ret <2 x double> %call
}


declare <2 x double> @_Z9_cl_rsqrtDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z5rsqrtDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z9_cl_rsqrtDv2_d(<2 x double> %a)
  ret <2 x double> %call
}


declare <2 x double> @_Z7_cl_sinDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z3sinDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z7_cl_sinDv2_d(<2 x double> %a)
  ret <2 x double> %call
}


declare <2 x double> @_Z8_cl_sinhDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z4sinhDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z8_cl_sinhDv2_d(<2 x double> %a)
  ret <2 x double> %call
}


declare <2 x double> @_Z9_cl_sinpiDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z5sinpiDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z9_cl_sinpiDv2_d(<2 x double> %a)
  ret <2 x double> %call
}


declare <2 x double> @_Z8_cl_sqrtDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z4sqrtDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z8_cl_sqrtDv2_d(<2 x double> %a)
  ret <2 x double> %call
}


declare <2 x double> @_Z7_cl_tanDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z3tanDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z7_cl_tanDv2_d(<2 x double> %a)
  ret <2 x double> %call
}


declare <2 x double> @_Z8_cl_tanhDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z4tanhDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z8_cl_tanhDv2_d(<2 x double> %a)
  ret <2 x double> %call
}


declare <2 x double> @_Z9_cl_tanpiDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z5tanpiDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z9_cl_tanpiDv2_d(<2 x double> %a)
  ret <2 x double> %call
}


declare <2 x double> @_Z10_cl_tgammaDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z6tgammaDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z10_cl_tgammaDv2_d(<2 x double> %a)
  ret <2 x double> %call
}


declare <2 x double> @_Z9_cl_truncDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z5truncDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z9_cl_truncDv2_d(<2 x double> %a)
  ret <2 x double> %call
}


declare <2 x double> @_Z14_cl_native_cosDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z10native_cosDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z14_cl_native_cosDv2_d(<2 x double> %a)
  ret <2 x double> %call
}


declare <2 x double> @_Z14_cl_native_expDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z10native_expDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z14_cl_native_expDv2_d(<2 x double> %a)
  ret <2 x double> %call
}


declare <2 x double> @_Z15_cl_native_exp2Dv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z11native_exp2Dv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z15_cl_native_exp2Dv2_d(<2 x double> %a)
  ret <2 x double> %call
}


declare <2 x double> @_Z16_cl_native_exp10Dv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z12native_exp10Dv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z16_cl_native_exp10Dv2_d(<2 x double> %a)
  ret <2 x double> %call
}


declare <2 x double> @_Z14_cl_native_logDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z10native_logDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z14_cl_native_logDv2_d(<2 x double> %a)
  ret <2 x double> %call
}


declare <2 x double> @_Z15_cl_native_log2Dv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z11native_log2Dv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z15_cl_native_log2Dv2_d(<2 x double> %a)
  ret <2 x double> %call
}


declare <2 x double> @_Z16_cl_native_log10Dv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z12native_log10Dv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z16_cl_native_log10Dv2_d(<2 x double> %a)
  ret <2 x double> %call
}


declare <2 x double> @_Z16_cl_native_recipDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z12native_recipDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z16_cl_native_recipDv2_d(<2 x double> %a)
  ret <2 x double> %call
}


declare <2 x double> @_Z16_cl_native_rsqrtDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z12native_rsqrtDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z16_cl_native_rsqrtDv2_d(<2 x double> %a)
  ret <2 x double> %call
}


declare <2 x double> @_Z14_cl_native_sinDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z10native_sinDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z14_cl_native_sinDv2_d(<2 x double> %a)
  ret <2 x double> %call
}


declare <2 x double> @_Z15_cl_native_sqrtDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z11native_sqrtDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z15_cl_native_sqrtDv2_d(<2 x double> %a)
  ret <2 x double> %call
}


declare <2 x double> @_Z14_cl_native_tanDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z10native_tanDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z14_cl_native_tanDv2_d(<2 x double> %a)
  ret <2 x double> %call
}


declare <2 x double> @_Z11_cl_degreesDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z7degreesDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z11_cl_degreesDv2_d(<2 x double> %a)
  ret <2 x double> %call
}


declare <2 x double> @_Z11_cl_radiansDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z7radiansDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z11_cl_radiansDv2_d(<2 x double> %a)
  ret <2 x double> %call
}


declare <2 x double> @_Z8_cl_signDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z4signDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z8_cl_signDv2_d(<2 x double> %a)
  ret <2 x double> %call
}


declare <2 x double> @_Z9_cl_atan2Dv2_dS_(<2 x double>, <2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z5atan2Dv2_dS_(<2 x double> %a, <2 x double> %b) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z9_cl_atan2Dv2_dS_(<2 x double> %a, <2 x double> %b)
  ret <2 x double> %call
}


declare <2 x double> @_Z11_cl_atan2piDv2_dS_(<2 x double>, <2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z7atan2piDv2_dS_(<2 x double> %a, <2 x double> %b) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z11_cl_atan2piDv2_dS_(<2 x double> %a, <2 x double> %b)
  ret <2 x double> %call
}


declare <2 x double> @_Z12_cl_copysignDv2_dS_(<2 x double>, <2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z8copysignDv2_dS_(<2 x double> %a, <2 x double> %b) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z12_cl_copysignDv2_dS_(<2 x double> %a, <2 x double> %b)
  ret <2 x double> %call
}


declare <2 x double> @_Z8_cl_fdimDv2_dS_(<2 x double>, <2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z4fdimDv2_dS_(<2 x double> %a, <2 x double> %b) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z8_cl_fdimDv2_dS_(<2 x double> %a, <2 x double> %b)
  ret <2 x double> %call
}


declare <2 x double> @_Z8_cl_fmaxDv2_dS_(<2 x double>, <2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z4fmaxDv2_dS_(<2 x double> %a, <2 x double> %b) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z8_cl_fmaxDv2_dS_(<2 x double> %a, <2 x double> %b)
  ret <2 x double> %call
}


declare <2 x double> @_Z8_cl_fminDv2_dS_(<2 x double>, <2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z4fminDv2_dS_(<2 x double> %a, <2 x double> %b) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z8_cl_fminDv2_dS_(<2 x double> %a, <2 x double> %b)
  ret <2 x double> %call
}


declare <2 x double> @_Z8_cl_fmodDv2_dS_(<2 x double>, <2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z4fmodDv2_dS_(<2 x double> %a, <2 x double> %b) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z8_cl_fmodDv2_dS_(<2 x double> %a, <2 x double> %b)
  ret <2 x double> %call
}


declare <2 x double> @_Z9_cl_hypotDv2_dS_(<2 x double>, <2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z5hypotDv2_dS_(<2 x double> %a, <2 x double> %b) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z9_cl_hypotDv2_dS_(<2 x double> %a, <2 x double> %b)
  ret <2 x double> %call
}


declare <2 x double> @_Z13_cl_nextafterDv2_dS_(<2 x double>, <2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z9nextafterDv2_dS_(<2 x double> %a, <2 x double> %b) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z13_cl_nextafterDv2_dS_(<2 x double> %a, <2 x double> %b)
  ret <2 x double> %call
}


declare <2 x double> @_Z7_cl_powDv2_dS_(<2 x double>, <2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z3powDv2_dS_(<2 x double> %a, <2 x double> %b) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z7_cl_powDv2_dS_(<2 x double> %a, <2 x double> %b)
  ret <2 x double> %call
}


declare <2 x double> @_Z8_cl_powrDv2_dS_(<2 x double>, <2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z4powrDv2_dS_(<2 x double> %a, <2 x double> %b) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z8_cl_powrDv2_dS_(<2 x double> %a, <2 x double> %b)
  ret <2 x double> %call
}


declare <2 x double> @_Z10_cl_maxmagDv2_dS_(<2 x double>, <2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z6maxmagDv2_dS_(<2 x double> %a, <2 x double> %b) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z10_cl_maxmagDv2_dS_(<2 x double> %a, <2 x double> %b)
  ret <2 x double> %call
}


declare <2 x double> @_Z10_cl_minmagDv2_dS_(<2 x double>, <2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z6minmagDv2_dS_(<2 x double> %a, <2 x double> %b) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z10_cl_minmagDv2_dS_(<2 x double> %a, <2 x double> %b)
  ret <2 x double> %call
}


declare <2 x double> @_Z13_cl_remainderDv2_dS_(<2 x double>, <2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z9remainderDv2_dS_(<2 x double> %a, <2 x double> %b) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z13_cl_remainderDv2_dS_(<2 x double> %a, <2 x double> %b)
  ret <2 x double> %call
}


declare <2 x double> @_Z17_cl_native_divideDv2_dS_(<2 x double>, <2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z13native_divideDv2_dS_(<2 x double> %a, <2 x double> %b) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z17_cl_native_divideDv2_dS_(<2 x double> %a, <2 x double> %b)
  ret <2 x double> %call
}


declare <2 x double> @_Z15_cl_native_powrDv2_dS_(<2 x double>, <2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z11native_powrDv2_dS_(<2 x double> %a, <2 x double> %b) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z15_cl_native_powrDv2_dS_(<2 x double> %a, <2 x double> %b)
  ret <2 x double> %call
}


declare <2 x double> @_Z7_cl_maxDv2_dS_(<2 x double>, <2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z3maxDv2_dS_(<2 x double> %a, <2 x double> %b) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z7_cl_maxDv2_dS_(<2 x double> %a, <2 x double> %b)
  ret <2 x double> %call
}


declare <2 x double> @_Z7_cl_minDv2_dS_(<2 x double>, <2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z3minDv2_dS_(<2 x double> %a, <2 x double> %b) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z7_cl_minDv2_dS_(<2 x double> %a, <2 x double> %b)
  ret <2 x double> %call
}


declare <2 x double> @_Z8_cl_stepDv2_dS_(<2 x double>, <2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z4stepDv2_dS_(<2 x double> %a, <2 x double> %b) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z8_cl_stepDv2_dS_(<2 x double> %a, <2 x double> %b)
  ret <2 x double> %call
}


declare <2 x double> @_Z9_cl_fractDv2_dPU3AS1S_(<2 x double>, <2 x double> addrspace(1)*) local_unnamed_addr #0

define spir_func <2 x double> @_Z5fractDv2_dPU3AS1S_(<2 x double> %a, <2 x double> addrspace(1)* %b) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z9_cl_fractDv2_dPU3AS1S_(<2 x double> %a, <2 x double> addrspace(1)* %b)
  ret <2 x double> %call
}


declare <2 x double> @_Z9_cl_fractDv2_dPU3AS3S_(<2 x double>, <2 x double> addrspace(3)*) local_unnamed_addr #0

define spir_func <2 x double> @_Z5fractDv2_dPU3AS3S_(<2 x double> %a, <2 x double> addrspace(3)* %b) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z9_cl_fractDv2_dPU3AS3S_(<2 x double> %a, <2 x double> addrspace(3)* %b)
  ret <2 x double> %call
}


declare <2 x double> @_Z9_cl_fractDv2_dPS_(<2 x double>, <2 x double> *) local_unnamed_addr #0

define spir_func <2 x double> @_Z5fractDv2_dPS_(<2 x double> %a, <2 x double> * %b) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z9_cl_fractDv2_dPS_(<2 x double> %a, <2 x double> * %b)
  ret <2 x double> %call
}


declare <2 x double> @_Z10_cl_sincosDv2_dPU3AS1S_(<2 x double>, <2 x double> addrspace(1)*) local_unnamed_addr #0

define spir_func <2 x double> @_Z6sincosDv2_dPU3AS1S_(<2 x double> %a, <2 x double> addrspace(1)* %b) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z10_cl_sincosDv2_dPU3AS1S_(<2 x double> %a, <2 x double> addrspace(1)* %b)
  ret <2 x double> %call
}


declare <2 x double> @_Z10_cl_sincosDv2_dPU3AS3S_(<2 x double>, <2 x double> addrspace(3)*) local_unnamed_addr #0

define spir_func <2 x double> @_Z6sincosDv2_dPU3AS3S_(<2 x double> %a, <2 x double> addrspace(3)* %b) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z10_cl_sincosDv2_dPU3AS3S_(<2 x double> %a, <2 x double> addrspace(3)* %b)
  ret <2 x double> %call
}


declare <2 x double> @_Z10_cl_sincosDv2_dPS_(<2 x double>, <2 x double> *) local_unnamed_addr #0

define spir_func <2 x double> @_Z6sincosDv2_dPS_(<2 x double> %a, <2 x double> * %b) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z10_cl_sincosDv2_dPS_(<2 x double> %a, <2 x double> * %b)
  ret <2 x double> %call
}


declare <2 x double> @_Z8_cl_modfDv2_dPU3AS1S_(<2 x double>, <2 x double> addrspace(1)*) local_unnamed_addr #0

define spir_func <2 x double> @_Z4modfDv2_dPU3AS1S_(<2 x double> %a, <2 x double> addrspace(1)* %b) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z8_cl_modfDv2_dPU3AS1S_(<2 x double> %a, <2 x double> addrspace(1)* %b)
  ret <2 x double> %call
}


declare <2 x double> @_Z8_cl_modfDv2_dPU3AS3S_(<2 x double>, <2 x double> addrspace(3)*) local_unnamed_addr #0

define spir_func <2 x double> @_Z4modfDv2_dPU3AS3S_(<2 x double> %a, <2 x double> addrspace(3)* %b) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z8_cl_modfDv2_dPU3AS3S_(<2 x double> %a, <2 x double> addrspace(3)* %b)
  ret <2 x double> %call
}


declare <2 x double> @_Z8_cl_modfDv2_dPS_(<2 x double>, <2 x double> *) local_unnamed_addr #0

define spir_func <2 x double> @_Z4modfDv2_dPS_(<2 x double> %a, <2 x double> * %b) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z8_cl_modfDv2_dPS_(<2 x double> %a, <2 x double> * %b)
  ret <2 x double> %call
}


declare <2 x double> @_Z13_cl_bitselectDv2_dS_S_(<2 x double>, <2 x double>, <2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z9bitselectDv2_dS_S_(<2 x double> %a, <2 x double> %b, <2 x double> %c) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z13_cl_bitselectDv2_dS_S_(<2 x double> %a, <2 x double> %b, <2 x double> %c)
  ret <2 x double> %call
}


declare <2 x double> @_Z9_cl_clampDv2_dS_S_(<2 x double>, <2 x double>, <2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z5clampDv2_dS_S_(<2 x double> %a, <2 x double> %b, <2 x double> %c) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z9_cl_clampDv2_dS_S_(<2 x double> %a, <2 x double> %b, <2 x double> %c)
  ret <2 x double> %call
}


declare <2 x double> @_Z7_cl_fmaDv2_dS_S_(<2 x double>, <2 x double>, <2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z3fmaDv2_dS_S_(<2 x double> %a, <2 x double> %b, <2 x double> %c) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z7_cl_fmaDv2_dS_S_(<2 x double> %a, <2 x double> %b, <2 x double> %c)
  ret <2 x double> %call
}


declare <2 x double> @_Z7_cl_madDv2_dS_S_(<2 x double>, <2 x double>, <2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z3madDv2_dS_S_(<2 x double> %a, <2 x double> %b, <2 x double> %c) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z7_cl_madDv2_dS_S_(<2 x double> %a, <2 x double> %b, <2 x double> %c)
  ret <2 x double> %call
}


declare <2 x double> @_Z7_cl_mixDv2_dS_S_(<2 x double>, <2 x double>, <2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z3mixDv2_dS_S_(<2 x double> %a, <2 x double> %b, <2 x double> %c) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z7_cl_mixDv2_dS_S_(<2 x double> %a, <2 x double> %b, <2 x double> %c)
  ret <2 x double> %call
}


declare <2 x double> @_Z14_cl_smoothstepDv2_dS_S_(<2 x double>, <2 x double>, <2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z10smoothstepDv2_dS_S_(<2 x double> %a, <2 x double> %b, <2 x double> %c) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z14_cl_smoothstepDv2_dS_S_(<2 x double> %a, <2 x double> %b, <2 x double> %c)
  ret <2 x double> %call
}


declare i32 @_Z9_cl_ilogbDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func i32 @_Z5ilogbDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z9_cl_ilogbDv2_d(<2 x double> %a)
  ret i32 %call
}


declare <2 x double> @_Z9_cl_ldexpDv2_dDv2_i(<2 x double>, <2 x i32>) local_unnamed_addr #0

define spir_func <2 x double> @_Z5ldexpDv2_dDv2_i(<2 x double> %a, <2 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z9_cl_ldexpDv2_dDv2_i(<2 x double> %a, <2 x i32> %b)
  ret <2 x double> %call
}


declare <2 x double> @_Z8_cl_pownDv2_dDv2_i(<2 x double>, <2 x i32>) local_unnamed_addr #0

define spir_func <2 x double> @_Z4pownDv2_dDv2_i(<2 x double> %a, <2 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z8_cl_pownDv2_dDv2_i(<2 x double> %a, <2 x i32> %b)
  ret <2 x double> %call
}


declare <2 x double> @_Z9_cl_rootnDv2_dDv2_i(<2 x double>, <2 x i32>) local_unnamed_addr #0

define spir_func <2 x double> @_Z5rootnDv2_dDv2_i(<2 x double> %a, <2 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z9_cl_rootnDv2_dDv2_i(<2 x double> %a, <2 x i32> %b)
  ret <2 x double> %call
}


declare <2 x double> @_Z10_cl_remquoDv2_dS_PU3AS1Dv2_i(<2 x double>, <2 x double>, <2 x i32> addrspace(1)*) local_unnamed_addr #0

define spir_func <2 x double> @_Z6remquoDv2_dS_PU3AS1Dv2_i(<2 x double> %a, <2 x double> %b, <2 x i32> addrspace(1)* %c) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z10_cl_remquoDv2_dS_PU3AS1Dv2_i(<2 x double> %a, <2 x double> %b, <2 x i32> addrspace(1)* %c)
  ret <2 x double> %call
}


declare <2 x double> @_Z10_cl_remquoDv2_dS_PU3AS3Dv2_i(<2 x double>, <2 x double>, <2 x i32> addrspace(3)*) local_unnamed_addr #0

define spir_func <2 x double> @_Z6remquoDv2_dS_PU3AS3Dv2_i(<2 x double> %a, <2 x double> %b, <2 x i32> addrspace(3)* %c) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z10_cl_remquoDv2_dS_PU3AS3Dv2_i(<2 x double> %a, <2 x double> %b, <2 x i32> addrspace(3)* %c)
  ret <2 x double> %call
}


declare <2 x double> @_Z10_cl_remquoDv2_dS_PDv2_i(<2 x double>, <2 x double>, <2 x i32> *) local_unnamed_addr #0

define spir_func <2 x double> @_Z6remquoDv2_dS_PDv2_i(<2 x double> %a, <2 x double> %b, <2 x i32> * %c) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z10_cl_remquoDv2_dS_PDv2_i(<2 x double> %a, <2 x double> %b, <2 x i32> * %c)
  ret <2 x double> %call
}


declare <2 x double> @_Z7_cl_nanDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x double> @_Z3nanDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z7_cl_nanDv2_m(<2 x i64> %a)
  ret <2 x double> %call
}


declare <2 x double> @_Z12_cl_lgamma_rDv2_dPU3AS1Dv2_i(<2 x double>, <2 x i32> addrspace(1)*) local_unnamed_addr #0

define spir_func <2 x double> @_Z8lgamma_rDv2_dPU3AS1Dv2_i(<2 x double> %a, <2 x i32> addrspace(1)* %b) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z12_cl_lgamma_rDv2_dPU3AS1Dv2_i(<2 x double> %a, <2 x i32> addrspace(1)* %b)
  ret <2 x double> %call
}


declare <2 x double> @_Z12_cl_lgamma_rDv2_dPU3AS3Dv2_i(<2 x double>, <2 x i32> addrspace(3)*) local_unnamed_addr #0

define spir_func <2 x double> @_Z8lgamma_rDv2_dPU3AS3Dv2_i(<2 x double> %a, <2 x i32> addrspace(3)* %b) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z12_cl_lgamma_rDv2_dPU3AS3Dv2_i(<2 x double> %a, <2 x i32> addrspace(3)* %b)
  ret <2 x double> %call
}


declare <2 x double> @_Z12_cl_lgamma_rDv2_dPDv2_i(<2 x double>, <2 x i32> *) local_unnamed_addr #0

define spir_func <2 x double> @_Z8lgamma_rDv2_dPDv2_i(<2 x double> %a, <2 x i32> * %b) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z12_cl_lgamma_rDv2_dPDv2_i(<2 x double> %a, <2 x i32> * %b)
  ret <2 x double> %call
}


declare <2 x double> @_Z9_cl_frexpDv2_dPU3AS1Dv2_i(<2 x double>, <2 x i32> addrspace(1)*) local_unnamed_addr #0

define spir_func <2 x double> @_Z5frexpDv2_dPU3AS1Dv2_i(<2 x double> %a, <2 x i32> addrspace(1)* %b) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z9_cl_frexpDv2_dPU3AS1Dv2_i(<2 x double> %a, <2 x i32> addrspace(1)* %b)
  ret <2 x double> %call
}


declare <2 x double> @_Z9_cl_frexpDv2_dPU3AS3Dv2_i(<2 x double>, <2 x i32> addrspace(3)*) local_unnamed_addr #0

define spir_func <2 x double> @_Z5frexpDv2_dPU3AS3Dv2_i(<2 x double> %a, <2 x i32> addrspace(3)* %b) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z9_cl_frexpDv2_dPU3AS3Dv2_i(<2 x double> %a, <2 x i32> addrspace(3)* %b)
  ret <2 x double> %call
}


declare <2 x double> @_Z9_cl_frexpDv2_dPDv2_i(<2 x double>, <2 x i32> *) local_unnamed_addr #0

define spir_func <2 x double> @_Z5frexpDv2_dPDv2_i(<2 x double> %a, <2 x i32> * %b) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z9_cl_frexpDv2_dPDv2_i(<2 x double> %a, <2 x i32> * %b)
  ret <2 x double> %call
}


declare <2 x double> @_Z10_cl_selectDv2_dS_Dv2_l(<2 x double>, <2 x double>, <2 x i64>) local_unnamed_addr #0

define spir_func <2 x double> @_Z6selectDv2_dS_Dv2_l(<2 x double> %a, <2 x double> %b, <2 x i64> %c) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z10_cl_selectDv2_dS_Dv2_l(<2 x double> %a, <2 x double> %b, <2 x i64> %c)
  ret <2 x double> %call
}


declare <2 x double> @_Z10_cl_selectDv2_dS_Dv2_m(<2 x double>, <2 x double>, <2 x i64>) local_unnamed_addr #0

define spir_func <2 x double> @_Z6selectDv2_dS_Dv2_m(<2 x double> %a, <2 x double> %b, <2 x i64> %c) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z10_cl_selectDv2_dS_Dv2_m(<2 x double> %a, <2 x double> %b, <2 x i64> %c)
  ret <2 x double> %call
}


declare <2 x i64> @_Z11_cl_signbitDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z7signbitDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z11_cl_signbitDv2_d(<2 x double> %a)
  ret <2 x i64> %call
}


declare <2 x i64> @_Z11_cl_isequalDv2_dS_(<2 x double>, <2 x double>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z7isequalDv2_dS_(<2 x double> %a, <2 x double> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z11_cl_isequalDv2_dS_(<2 x double> %a, <2 x double> %b)
  ret <2 x i64> %call
}


declare <2 x i64> @_Z14_cl_isnotequalDv2_dS_(<2 x double>, <2 x double>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z10isnotequalDv2_dS_(<2 x double> %a, <2 x double> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z14_cl_isnotequalDv2_dS_(<2 x double> %a, <2 x double> %b)
  ret <2 x i64> %call
}


declare <2 x i64> @_Z13_cl_isgreaterDv2_dS_(<2 x double>, <2 x double>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z9isgreaterDv2_dS_(<2 x double> %a, <2 x double> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z13_cl_isgreaterDv2_dS_(<2 x double> %a, <2 x double> %b)
  ret <2 x i64> %call
}


declare <2 x i64> @_Z18_cl_isgreaterequalDv2_dS_(<2 x double>, <2 x double>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z14isgreaterequalDv2_dS_(<2 x double> %a, <2 x double> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z18_cl_isgreaterequalDv2_dS_(<2 x double> %a, <2 x double> %b)
  ret <2 x i64> %call
}


declare <2 x i64> @_Z10_cl_islessDv2_dS_(<2 x double>, <2 x double>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z6islessDv2_dS_(<2 x double> %a, <2 x double> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z10_cl_islessDv2_dS_(<2 x double> %a, <2 x double> %b)
  ret <2 x i64> %call
}


declare <2 x i64> @_Z15_cl_islessequalDv2_dS_(<2 x double>, <2 x double>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z11islessequalDv2_dS_(<2 x double> %a, <2 x double> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z15_cl_islessequalDv2_dS_(<2 x double> %a, <2 x double> %b)
  ret <2 x i64> %call
}


declare <2 x i64> @_Z17_cl_islessgreaterDv2_dS_(<2 x double>, <2 x double>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z13islessgreaterDv2_dS_(<2 x double> %a, <2 x double> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z17_cl_islessgreaterDv2_dS_(<2 x double> %a, <2 x double> %b)
  ret <2 x i64> %call
}


declare <2 x i64> @_Z12_cl_isfiniteDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z8isfiniteDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z12_cl_isfiniteDv2_d(<2 x double> %a)
  ret <2 x i64> %call
}


declare <2 x i64> @_Z9_cl_isinfDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z5isinfDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z9_cl_isinfDv2_d(<2 x double> %a)
  ret <2 x i64> %call
}


declare <2 x i64> @_Z9_cl_isnanDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z5isnanDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z9_cl_isnanDv2_d(<2 x double> %a)
  ret <2 x i64> %call
}


declare <2 x i64> @_Z12_cl_isnormalDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z8isnormalDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z12_cl_isnormalDv2_d(<2 x double> %a)
  ret <2 x i64> %call
}


declare <2 x i64> @_Z13_cl_isorderedDv2_dS_(<2 x double>, <2 x double>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z9isorderedDv2_dS_(<2 x double> %a, <2 x double> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z13_cl_isorderedDv2_dS_(<2 x double> %a, <2 x double> %b)
  ret <2 x i64> %call
}


declare <2 x i64> @_Z15_cl_isunorderedDv2_dS_(<2 x double>, <2 x double>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z11isunorderedDv2_dS_(<2 x double> %a, <2 x double> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z15_cl_isunorderedDv2_dS_(<2 x double> %a, <2 x double> %b)
  ret <2 x i64> %call
}


declare <3 x double> @_Z8_cl_acosDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z4acosDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z8_cl_acosDv3_d(<3 x double> %a)
  ret <3 x double> %call
}


declare <3 x double> @_Z9_cl_acoshDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z5acoshDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z9_cl_acoshDv3_d(<3 x double> %a)
  ret <3 x double> %call
}


declare <3 x double> @_Z10_cl_acospiDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z6acospiDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z10_cl_acospiDv3_d(<3 x double> %a)
  ret <3 x double> %call
}


declare <3 x double> @_Z8_cl_asinDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z4asinDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z8_cl_asinDv3_d(<3 x double> %a)
  ret <3 x double> %call
}


declare <3 x double> @_Z9_cl_asinhDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z5asinhDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z9_cl_asinhDv3_d(<3 x double> %a)
  ret <3 x double> %call
}


declare <3 x double> @_Z10_cl_asinpiDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z6asinpiDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z10_cl_asinpiDv3_d(<3 x double> %a)
  ret <3 x double> %call
}


declare <3 x double> @_Z8_cl_atanDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z4atanDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z8_cl_atanDv3_d(<3 x double> %a)
  ret <3 x double> %call
}


declare <3 x double> @_Z9_cl_atanhDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z5atanhDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z9_cl_atanhDv3_d(<3 x double> %a)
  ret <3 x double> %call
}


declare <3 x double> @_Z10_cl_atanpiDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z6atanpiDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z10_cl_atanpiDv3_d(<3 x double> %a)
  ret <3 x double> %call
}


declare <3 x double> @_Z8_cl_cbrtDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z4cbrtDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z8_cl_cbrtDv3_d(<3 x double> %a)
  ret <3 x double> %call
}


declare <3 x double> @_Z8_cl_ceilDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z4ceilDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z8_cl_ceilDv3_d(<3 x double> %a)
  ret <3 x double> %call
}


declare <3 x double> @_Z7_cl_cosDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z3cosDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z7_cl_cosDv3_d(<3 x double> %a)
  ret <3 x double> %call
}


declare <3 x double> @_Z8_cl_coshDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z4coshDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z8_cl_coshDv3_d(<3 x double> %a)
  ret <3 x double> %call
}


declare <3 x double> @_Z9_cl_cospiDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z5cospiDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z9_cl_cospiDv3_d(<3 x double> %a)
  ret <3 x double> %call
}


declare <3 x double> @_Z8_cl_erfcDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z4erfcDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z8_cl_erfcDv3_d(<3 x double> %a)
  ret <3 x double> %call
}


declare <3 x double> @_Z7_cl_erfDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z3erfDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z7_cl_erfDv3_d(<3 x double> %a)
  ret <3 x double> %call
}


declare <3 x double> @_Z7_cl_expDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z3expDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z7_cl_expDv3_d(<3 x double> %a)
  ret <3 x double> %call
}


declare <3 x double> @_Z8_cl_exp2Dv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z4exp2Dv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z8_cl_exp2Dv3_d(<3 x double> %a)
  ret <3 x double> %call
}


declare <3 x double> @_Z9_cl_exp10Dv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z5exp10Dv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z9_cl_exp10Dv3_d(<3 x double> %a)
  ret <3 x double> %call
}


declare <3 x double> @_Z9_cl_expm1Dv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z5expm1Dv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z9_cl_expm1Dv3_d(<3 x double> %a)
  ret <3 x double> %call
}


declare <3 x double> @_Z8_cl_fabsDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z4fabsDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z8_cl_fabsDv3_d(<3 x double> %a)
  ret <3 x double> %call
}


declare <3 x double> @_Z9_cl_floorDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z5floorDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z9_cl_floorDv3_d(<3 x double> %a)
  ret <3 x double> %call
}


declare <3 x double> @_Z10_cl_lgammaDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z6lgammaDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z10_cl_lgammaDv3_d(<3 x double> %a)
  ret <3 x double> %call
}


declare <3 x double> @_Z7_cl_logDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z3logDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z7_cl_logDv3_d(<3 x double> %a)
  ret <3 x double> %call
}


declare <3 x double> @_Z9_cl_log10Dv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z5log10Dv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z9_cl_log10Dv3_d(<3 x double> %a)
  ret <3 x double> %call
}


declare <3 x double> @_Z8_cl_log2Dv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z4log2Dv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z8_cl_log2Dv3_d(<3 x double> %a)
  ret <3 x double> %call
}


declare <3 x double> @_Z9_cl_log1pDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z5log1pDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z9_cl_log1pDv3_d(<3 x double> %a)
  ret <3 x double> %call
}


declare <3 x double> @_Z8_cl_logbDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z4logbDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z8_cl_logbDv3_d(<3 x double> %a)
  ret <3 x double> %call
}


declare <3 x double> @_Z8_cl_rintDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z4rintDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z8_cl_rintDv3_d(<3 x double> %a)
  ret <3 x double> %call
}


declare <3 x double> @_Z9_cl_roundDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z5roundDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z9_cl_roundDv3_d(<3 x double> %a)
  ret <3 x double> %call
}


declare <3 x double> @_Z9_cl_rsqrtDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z5rsqrtDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z9_cl_rsqrtDv3_d(<3 x double> %a)
  ret <3 x double> %call
}


declare <3 x double> @_Z7_cl_sinDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z3sinDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z7_cl_sinDv3_d(<3 x double> %a)
  ret <3 x double> %call
}


declare <3 x double> @_Z8_cl_sinhDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z4sinhDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z8_cl_sinhDv3_d(<3 x double> %a)
  ret <3 x double> %call
}


declare <3 x double> @_Z9_cl_sinpiDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z5sinpiDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z9_cl_sinpiDv3_d(<3 x double> %a)
  ret <3 x double> %call
}


declare <3 x double> @_Z8_cl_sqrtDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z4sqrtDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z8_cl_sqrtDv3_d(<3 x double> %a)
  ret <3 x double> %call
}


declare <3 x double> @_Z7_cl_tanDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z3tanDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z7_cl_tanDv3_d(<3 x double> %a)
  ret <3 x double> %call
}


declare <3 x double> @_Z8_cl_tanhDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z4tanhDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z8_cl_tanhDv3_d(<3 x double> %a)
  ret <3 x double> %call
}


declare <3 x double> @_Z9_cl_tanpiDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z5tanpiDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z9_cl_tanpiDv3_d(<3 x double> %a)
  ret <3 x double> %call
}


declare <3 x double> @_Z10_cl_tgammaDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z6tgammaDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z10_cl_tgammaDv3_d(<3 x double> %a)
  ret <3 x double> %call
}


declare <3 x double> @_Z9_cl_truncDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z5truncDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z9_cl_truncDv3_d(<3 x double> %a)
  ret <3 x double> %call
}


declare <3 x double> @_Z14_cl_native_cosDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z10native_cosDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z14_cl_native_cosDv3_d(<3 x double> %a)
  ret <3 x double> %call
}


declare <3 x double> @_Z14_cl_native_expDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z10native_expDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z14_cl_native_expDv3_d(<3 x double> %a)
  ret <3 x double> %call
}


declare <3 x double> @_Z15_cl_native_exp2Dv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z11native_exp2Dv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z15_cl_native_exp2Dv3_d(<3 x double> %a)
  ret <3 x double> %call
}


declare <3 x double> @_Z16_cl_native_exp10Dv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z12native_exp10Dv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z16_cl_native_exp10Dv3_d(<3 x double> %a)
  ret <3 x double> %call
}


declare <3 x double> @_Z14_cl_native_logDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z10native_logDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z14_cl_native_logDv3_d(<3 x double> %a)
  ret <3 x double> %call
}


declare <3 x double> @_Z15_cl_native_log2Dv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z11native_log2Dv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z15_cl_native_log2Dv3_d(<3 x double> %a)
  ret <3 x double> %call
}


declare <3 x double> @_Z16_cl_native_log10Dv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z12native_log10Dv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z16_cl_native_log10Dv3_d(<3 x double> %a)
  ret <3 x double> %call
}


declare <3 x double> @_Z16_cl_native_recipDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z12native_recipDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z16_cl_native_recipDv3_d(<3 x double> %a)
  ret <3 x double> %call
}


declare <3 x double> @_Z16_cl_native_rsqrtDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z12native_rsqrtDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z16_cl_native_rsqrtDv3_d(<3 x double> %a)
  ret <3 x double> %call
}


declare <3 x double> @_Z14_cl_native_sinDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z10native_sinDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z14_cl_native_sinDv3_d(<3 x double> %a)
  ret <3 x double> %call
}


declare <3 x double> @_Z15_cl_native_sqrtDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z11native_sqrtDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z15_cl_native_sqrtDv3_d(<3 x double> %a)
  ret <3 x double> %call
}


declare <3 x double> @_Z14_cl_native_tanDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z10native_tanDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z14_cl_native_tanDv3_d(<3 x double> %a)
  ret <3 x double> %call
}


declare <3 x double> @_Z11_cl_degreesDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z7degreesDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z11_cl_degreesDv3_d(<3 x double> %a)
  ret <3 x double> %call
}


declare <3 x double> @_Z11_cl_radiansDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z7radiansDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z11_cl_radiansDv3_d(<3 x double> %a)
  ret <3 x double> %call
}


declare <3 x double> @_Z8_cl_signDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z4signDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z8_cl_signDv3_d(<3 x double> %a)
  ret <3 x double> %call
}


declare <3 x double> @_Z9_cl_atan2Dv3_dS_(<3 x double>, <3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z5atan2Dv3_dS_(<3 x double> %a, <3 x double> %b) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z9_cl_atan2Dv3_dS_(<3 x double> %a, <3 x double> %b)
  ret <3 x double> %call
}


declare <3 x double> @_Z11_cl_atan2piDv3_dS_(<3 x double>, <3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z7atan2piDv3_dS_(<3 x double> %a, <3 x double> %b) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z11_cl_atan2piDv3_dS_(<3 x double> %a, <3 x double> %b)
  ret <3 x double> %call
}


declare <3 x double> @_Z12_cl_copysignDv3_dS_(<3 x double>, <3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z8copysignDv3_dS_(<3 x double> %a, <3 x double> %b) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z12_cl_copysignDv3_dS_(<3 x double> %a, <3 x double> %b)
  ret <3 x double> %call
}


declare <3 x double> @_Z8_cl_fdimDv3_dS_(<3 x double>, <3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z4fdimDv3_dS_(<3 x double> %a, <3 x double> %b) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z8_cl_fdimDv3_dS_(<3 x double> %a, <3 x double> %b)
  ret <3 x double> %call
}


declare <3 x double> @_Z8_cl_fmaxDv3_dS_(<3 x double>, <3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z4fmaxDv3_dS_(<3 x double> %a, <3 x double> %b) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z8_cl_fmaxDv3_dS_(<3 x double> %a, <3 x double> %b)
  ret <3 x double> %call
}


declare <3 x double> @_Z8_cl_fminDv3_dS_(<3 x double>, <3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z4fminDv3_dS_(<3 x double> %a, <3 x double> %b) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z8_cl_fminDv3_dS_(<3 x double> %a, <3 x double> %b)
  ret <3 x double> %call
}


declare <3 x double> @_Z8_cl_fmodDv3_dS_(<3 x double>, <3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z4fmodDv3_dS_(<3 x double> %a, <3 x double> %b) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z8_cl_fmodDv3_dS_(<3 x double> %a, <3 x double> %b)
  ret <3 x double> %call
}


declare <3 x double> @_Z9_cl_hypotDv3_dS_(<3 x double>, <3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z5hypotDv3_dS_(<3 x double> %a, <3 x double> %b) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z9_cl_hypotDv3_dS_(<3 x double> %a, <3 x double> %b)
  ret <3 x double> %call
}


declare <3 x double> @_Z13_cl_nextafterDv3_dS_(<3 x double>, <3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z9nextafterDv3_dS_(<3 x double> %a, <3 x double> %b) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z13_cl_nextafterDv3_dS_(<3 x double> %a, <3 x double> %b)
  ret <3 x double> %call
}


declare <3 x double> @_Z7_cl_powDv3_dS_(<3 x double>, <3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z3powDv3_dS_(<3 x double> %a, <3 x double> %b) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z7_cl_powDv3_dS_(<3 x double> %a, <3 x double> %b)
  ret <3 x double> %call
}


declare <3 x double> @_Z8_cl_powrDv3_dS_(<3 x double>, <3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z4powrDv3_dS_(<3 x double> %a, <3 x double> %b) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z8_cl_powrDv3_dS_(<3 x double> %a, <3 x double> %b)
  ret <3 x double> %call
}


declare <3 x double> @_Z10_cl_maxmagDv3_dS_(<3 x double>, <3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z6maxmagDv3_dS_(<3 x double> %a, <3 x double> %b) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z10_cl_maxmagDv3_dS_(<3 x double> %a, <3 x double> %b)
  ret <3 x double> %call
}


declare <3 x double> @_Z10_cl_minmagDv3_dS_(<3 x double>, <3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z6minmagDv3_dS_(<3 x double> %a, <3 x double> %b) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z10_cl_minmagDv3_dS_(<3 x double> %a, <3 x double> %b)
  ret <3 x double> %call
}


declare <3 x double> @_Z13_cl_remainderDv3_dS_(<3 x double>, <3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z9remainderDv3_dS_(<3 x double> %a, <3 x double> %b) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z13_cl_remainderDv3_dS_(<3 x double> %a, <3 x double> %b)
  ret <3 x double> %call
}


declare <3 x double> @_Z17_cl_native_divideDv3_dS_(<3 x double>, <3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z13native_divideDv3_dS_(<3 x double> %a, <3 x double> %b) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z17_cl_native_divideDv3_dS_(<3 x double> %a, <3 x double> %b)
  ret <3 x double> %call
}


declare <3 x double> @_Z15_cl_native_powrDv3_dS_(<3 x double>, <3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z11native_powrDv3_dS_(<3 x double> %a, <3 x double> %b) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z15_cl_native_powrDv3_dS_(<3 x double> %a, <3 x double> %b)
  ret <3 x double> %call
}


declare <3 x double> @_Z7_cl_maxDv3_dS_(<3 x double>, <3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z3maxDv3_dS_(<3 x double> %a, <3 x double> %b) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z7_cl_maxDv3_dS_(<3 x double> %a, <3 x double> %b)
  ret <3 x double> %call
}


declare <3 x double> @_Z7_cl_minDv3_dS_(<3 x double>, <3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z3minDv3_dS_(<3 x double> %a, <3 x double> %b) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z7_cl_minDv3_dS_(<3 x double> %a, <3 x double> %b)
  ret <3 x double> %call
}


declare <3 x double> @_Z8_cl_stepDv3_dS_(<3 x double>, <3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z4stepDv3_dS_(<3 x double> %a, <3 x double> %b) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z8_cl_stepDv3_dS_(<3 x double> %a, <3 x double> %b)
  ret <3 x double> %call
}


declare <3 x double> @_Z9_cl_fractDv3_dPU3AS1S_(<3 x double>, <3 x double> addrspace(1)*) local_unnamed_addr #0

define spir_func <3 x double> @_Z5fractDv3_dPU3AS1S_(<3 x double> %a, <3 x double> addrspace(1)* %b) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z9_cl_fractDv3_dPU3AS1S_(<3 x double> %a, <3 x double> addrspace(1)* %b)
  ret <3 x double> %call
}


declare <3 x double> @_Z9_cl_fractDv3_dPU3AS3S_(<3 x double>, <3 x double> addrspace(3)*) local_unnamed_addr #0

define spir_func <3 x double> @_Z5fractDv3_dPU3AS3S_(<3 x double> %a, <3 x double> addrspace(3)* %b) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z9_cl_fractDv3_dPU3AS3S_(<3 x double> %a, <3 x double> addrspace(3)* %b)
  ret <3 x double> %call
}


declare <3 x double> @_Z9_cl_fractDv3_dPS_(<3 x double>, <3 x double> *) local_unnamed_addr #0

define spir_func <3 x double> @_Z5fractDv3_dPS_(<3 x double> %a, <3 x double> * %b) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z9_cl_fractDv3_dPS_(<3 x double> %a, <3 x double> * %b)
  ret <3 x double> %call
}


declare <3 x double> @_Z10_cl_sincosDv3_dPU3AS1S_(<3 x double>, <3 x double> addrspace(1)*) local_unnamed_addr #0

define spir_func <3 x double> @_Z6sincosDv3_dPU3AS1S_(<3 x double> %a, <3 x double> addrspace(1)* %b) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z10_cl_sincosDv3_dPU3AS1S_(<3 x double> %a, <3 x double> addrspace(1)* %b)
  ret <3 x double> %call
}


declare <3 x double> @_Z10_cl_sincosDv3_dPU3AS3S_(<3 x double>, <3 x double> addrspace(3)*) local_unnamed_addr #0

define spir_func <3 x double> @_Z6sincosDv3_dPU3AS3S_(<3 x double> %a, <3 x double> addrspace(3)* %b) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z10_cl_sincosDv3_dPU3AS3S_(<3 x double> %a, <3 x double> addrspace(3)* %b)
  ret <3 x double> %call
}


declare <3 x double> @_Z10_cl_sincosDv3_dPS_(<3 x double>, <3 x double> *) local_unnamed_addr #0

define spir_func <3 x double> @_Z6sincosDv3_dPS_(<3 x double> %a, <3 x double> * %b) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z10_cl_sincosDv3_dPS_(<3 x double> %a, <3 x double> * %b)
  ret <3 x double> %call
}


declare <3 x double> @_Z8_cl_modfDv3_dPU3AS1S_(<3 x double>, <3 x double> addrspace(1)*) local_unnamed_addr #0

define spir_func <3 x double> @_Z4modfDv3_dPU3AS1S_(<3 x double> %a, <3 x double> addrspace(1)* %b) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z8_cl_modfDv3_dPU3AS1S_(<3 x double> %a, <3 x double> addrspace(1)* %b)
  ret <3 x double> %call
}


declare <3 x double> @_Z8_cl_modfDv3_dPU3AS3S_(<3 x double>, <3 x double> addrspace(3)*) local_unnamed_addr #0

define spir_func <3 x double> @_Z4modfDv3_dPU3AS3S_(<3 x double> %a, <3 x double> addrspace(3)* %b) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z8_cl_modfDv3_dPU3AS3S_(<3 x double> %a, <3 x double> addrspace(3)* %b)
  ret <3 x double> %call
}


declare <3 x double> @_Z8_cl_modfDv3_dPS_(<3 x double>, <3 x double> *) local_unnamed_addr #0

define spir_func <3 x double> @_Z4modfDv3_dPS_(<3 x double> %a, <3 x double> * %b) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z8_cl_modfDv3_dPS_(<3 x double> %a, <3 x double> * %b)
  ret <3 x double> %call
}


declare <3 x double> @_Z13_cl_bitselectDv3_dS_S_(<3 x double>, <3 x double>, <3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z9bitselectDv3_dS_S_(<3 x double> %a, <3 x double> %b, <3 x double> %c) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z13_cl_bitselectDv3_dS_S_(<3 x double> %a, <3 x double> %b, <3 x double> %c)
  ret <3 x double> %call
}


declare <3 x double> @_Z9_cl_clampDv3_dS_S_(<3 x double>, <3 x double>, <3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z5clampDv3_dS_S_(<3 x double> %a, <3 x double> %b, <3 x double> %c) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z9_cl_clampDv3_dS_S_(<3 x double> %a, <3 x double> %b, <3 x double> %c)
  ret <3 x double> %call
}


declare <3 x double> @_Z7_cl_fmaDv3_dS_S_(<3 x double>, <3 x double>, <3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z3fmaDv3_dS_S_(<3 x double> %a, <3 x double> %b, <3 x double> %c) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z7_cl_fmaDv3_dS_S_(<3 x double> %a, <3 x double> %b, <3 x double> %c)
  ret <3 x double> %call
}


declare <3 x double> @_Z7_cl_madDv3_dS_S_(<3 x double>, <3 x double>, <3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z3madDv3_dS_S_(<3 x double> %a, <3 x double> %b, <3 x double> %c) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z7_cl_madDv3_dS_S_(<3 x double> %a, <3 x double> %b, <3 x double> %c)
  ret <3 x double> %call
}


declare <3 x double> @_Z7_cl_mixDv3_dS_S_(<3 x double>, <3 x double>, <3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z3mixDv3_dS_S_(<3 x double> %a, <3 x double> %b, <3 x double> %c) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z7_cl_mixDv3_dS_S_(<3 x double> %a, <3 x double> %b, <3 x double> %c)
  ret <3 x double> %call
}


declare <3 x double> @_Z14_cl_smoothstepDv3_dS_S_(<3 x double>, <3 x double>, <3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z10smoothstepDv3_dS_S_(<3 x double> %a, <3 x double> %b, <3 x double> %c) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z14_cl_smoothstepDv3_dS_S_(<3 x double> %a, <3 x double> %b, <3 x double> %c)
  ret <3 x double> %call
}


declare i32 @_Z9_cl_ilogbDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func i32 @_Z5ilogbDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z9_cl_ilogbDv3_d(<3 x double> %a)
  ret i32 %call
}


declare <3 x double> @_Z9_cl_ldexpDv3_dDv3_i(<3 x double>, <3 x i32>) local_unnamed_addr #0

define spir_func <3 x double> @_Z5ldexpDv3_dDv3_i(<3 x double> %a, <3 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z9_cl_ldexpDv3_dDv3_i(<3 x double> %a, <3 x i32> %b)
  ret <3 x double> %call
}


declare <3 x double> @_Z8_cl_pownDv3_dDv3_i(<3 x double>, <3 x i32>) local_unnamed_addr #0

define spir_func <3 x double> @_Z4pownDv3_dDv3_i(<3 x double> %a, <3 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z8_cl_pownDv3_dDv3_i(<3 x double> %a, <3 x i32> %b)
  ret <3 x double> %call
}


declare <3 x double> @_Z9_cl_rootnDv3_dDv3_i(<3 x double>, <3 x i32>) local_unnamed_addr #0

define spir_func <3 x double> @_Z5rootnDv3_dDv3_i(<3 x double> %a, <3 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z9_cl_rootnDv3_dDv3_i(<3 x double> %a, <3 x i32> %b)
  ret <3 x double> %call
}


declare <3 x double> @_Z10_cl_remquoDv3_dS_PU3AS1Dv3_i(<3 x double>, <3 x double>, <3 x i32> addrspace(1)*) local_unnamed_addr #0

define spir_func <3 x double> @_Z6remquoDv3_dS_PU3AS1Dv3_i(<3 x double> %a, <3 x double> %b, <3 x i32> addrspace(1)* %c) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z10_cl_remquoDv3_dS_PU3AS1Dv3_i(<3 x double> %a, <3 x double> %b, <3 x i32> addrspace(1)* %c)
  ret <3 x double> %call
}


declare <3 x double> @_Z10_cl_remquoDv3_dS_PU3AS3Dv3_i(<3 x double>, <3 x double>, <3 x i32> addrspace(3)*) local_unnamed_addr #0

define spir_func <3 x double> @_Z6remquoDv3_dS_PU3AS3Dv3_i(<3 x double> %a, <3 x double> %b, <3 x i32> addrspace(3)* %c) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z10_cl_remquoDv3_dS_PU3AS3Dv3_i(<3 x double> %a, <3 x double> %b, <3 x i32> addrspace(3)* %c)
  ret <3 x double> %call
}


declare <3 x double> @_Z10_cl_remquoDv3_dS_PDv3_i(<3 x double>, <3 x double>, <3 x i32> *) local_unnamed_addr #0

define spir_func <3 x double> @_Z6remquoDv3_dS_PDv3_i(<3 x double> %a, <3 x double> %b, <3 x i32> * %c) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z10_cl_remquoDv3_dS_PDv3_i(<3 x double> %a, <3 x double> %b, <3 x i32> * %c)
  ret <3 x double> %call
}


declare <3 x double> @_Z7_cl_nanDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x double> @_Z3nanDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z7_cl_nanDv3_m(<3 x i64> %a)
  ret <3 x double> %call
}


declare <3 x double> @_Z12_cl_lgamma_rDv3_dPU3AS1Dv3_i(<3 x double>, <3 x i32> addrspace(1)*) local_unnamed_addr #0

define spir_func <3 x double> @_Z8lgamma_rDv3_dPU3AS1Dv3_i(<3 x double> %a, <3 x i32> addrspace(1)* %b) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z12_cl_lgamma_rDv3_dPU3AS1Dv3_i(<3 x double> %a, <3 x i32> addrspace(1)* %b)
  ret <3 x double> %call
}


declare <3 x double> @_Z12_cl_lgamma_rDv3_dPU3AS3Dv3_i(<3 x double>, <3 x i32> addrspace(3)*) local_unnamed_addr #0

define spir_func <3 x double> @_Z8lgamma_rDv3_dPU3AS3Dv3_i(<3 x double> %a, <3 x i32> addrspace(3)* %b) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z12_cl_lgamma_rDv3_dPU3AS3Dv3_i(<3 x double> %a, <3 x i32> addrspace(3)* %b)
  ret <3 x double> %call
}


declare <3 x double> @_Z12_cl_lgamma_rDv3_dPDv3_i(<3 x double>, <3 x i32> *) local_unnamed_addr #0

define spir_func <3 x double> @_Z8lgamma_rDv3_dPDv3_i(<3 x double> %a, <3 x i32> * %b) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z12_cl_lgamma_rDv3_dPDv3_i(<3 x double> %a, <3 x i32> * %b)
  ret <3 x double> %call
}


declare <3 x double> @_Z9_cl_frexpDv3_dPU3AS1Dv3_i(<3 x double>, <3 x i32> addrspace(1)*) local_unnamed_addr #0

define spir_func <3 x double> @_Z5frexpDv3_dPU3AS1Dv3_i(<3 x double> %a, <3 x i32> addrspace(1)* %b) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z9_cl_frexpDv3_dPU3AS1Dv3_i(<3 x double> %a, <3 x i32> addrspace(1)* %b)
  ret <3 x double> %call
}


declare <3 x double> @_Z9_cl_frexpDv3_dPU3AS3Dv3_i(<3 x double>, <3 x i32> addrspace(3)*) local_unnamed_addr #0

define spir_func <3 x double> @_Z5frexpDv3_dPU3AS3Dv3_i(<3 x double> %a, <3 x i32> addrspace(3)* %b) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z9_cl_frexpDv3_dPU3AS3Dv3_i(<3 x double> %a, <3 x i32> addrspace(3)* %b)
  ret <3 x double> %call
}


declare <3 x double> @_Z9_cl_frexpDv3_dPDv3_i(<3 x double>, <3 x i32> *) local_unnamed_addr #0

define spir_func <3 x double> @_Z5frexpDv3_dPDv3_i(<3 x double> %a, <3 x i32> * %b) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z9_cl_frexpDv3_dPDv3_i(<3 x double> %a, <3 x i32> * %b)
  ret <3 x double> %call
}


declare <3 x double> @_Z10_cl_selectDv3_dS_Dv3_l(<3 x double>, <3 x double>, <3 x i64>) local_unnamed_addr #0

define spir_func <3 x double> @_Z6selectDv3_dS_Dv3_l(<3 x double> %a, <3 x double> %b, <3 x i64> %c) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z10_cl_selectDv3_dS_Dv3_l(<3 x double> %a, <3 x double> %b, <3 x i64> %c)
  ret <3 x double> %call
}


declare <3 x double> @_Z10_cl_selectDv3_dS_Dv3_m(<3 x double>, <3 x double>, <3 x i64>) local_unnamed_addr #0

define spir_func <3 x double> @_Z6selectDv3_dS_Dv3_m(<3 x double> %a, <3 x double> %b, <3 x i64> %c) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z10_cl_selectDv3_dS_Dv3_m(<3 x double> %a, <3 x double> %b, <3 x i64> %c)
  ret <3 x double> %call
}


declare <3 x i64> @_Z11_cl_signbitDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z7signbitDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z11_cl_signbitDv3_d(<3 x double> %a)
  ret <3 x i64> %call
}


declare <3 x i64> @_Z11_cl_isequalDv3_dS_(<3 x double>, <3 x double>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z7isequalDv3_dS_(<3 x double> %a, <3 x double> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z11_cl_isequalDv3_dS_(<3 x double> %a, <3 x double> %b)
  ret <3 x i64> %call
}


declare <3 x i64> @_Z14_cl_isnotequalDv3_dS_(<3 x double>, <3 x double>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z10isnotequalDv3_dS_(<3 x double> %a, <3 x double> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z14_cl_isnotequalDv3_dS_(<3 x double> %a, <3 x double> %b)
  ret <3 x i64> %call
}


declare <3 x i64> @_Z13_cl_isgreaterDv3_dS_(<3 x double>, <3 x double>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z9isgreaterDv3_dS_(<3 x double> %a, <3 x double> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z13_cl_isgreaterDv3_dS_(<3 x double> %a, <3 x double> %b)
  ret <3 x i64> %call
}


declare <3 x i64> @_Z18_cl_isgreaterequalDv3_dS_(<3 x double>, <3 x double>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z14isgreaterequalDv3_dS_(<3 x double> %a, <3 x double> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z18_cl_isgreaterequalDv3_dS_(<3 x double> %a, <3 x double> %b)
  ret <3 x i64> %call
}


declare <3 x i64> @_Z10_cl_islessDv3_dS_(<3 x double>, <3 x double>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z6islessDv3_dS_(<3 x double> %a, <3 x double> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z10_cl_islessDv3_dS_(<3 x double> %a, <3 x double> %b)
  ret <3 x i64> %call
}


declare <3 x i64> @_Z15_cl_islessequalDv3_dS_(<3 x double>, <3 x double>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z11islessequalDv3_dS_(<3 x double> %a, <3 x double> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z15_cl_islessequalDv3_dS_(<3 x double> %a, <3 x double> %b)
  ret <3 x i64> %call
}


declare <3 x i64> @_Z17_cl_islessgreaterDv3_dS_(<3 x double>, <3 x double>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z13islessgreaterDv3_dS_(<3 x double> %a, <3 x double> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z17_cl_islessgreaterDv3_dS_(<3 x double> %a, <3 x double> %b)
  ret <3 x i64> %call
}


declare <3 x i64> @_Z12_cl_isfiniteDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z8isfiniteDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z12_cl_isfiniteDv3_d(<3 x double> %a)
  ret <3 x i64> %call
}


declare <3 x i64> @_Z9_cl_isinfDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z5isinfDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z9_cl_isinfDv3_d(<3 x double> %a)
  ret <3 x i64> %call
}


declare <3 x i64> @_Z9_cl_isnanDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z5isnanDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z9_cl_isnanDv3_d(<3 x double> %a)
  ret <3 x i64> %call
}


declare <3 x i64> @_Z12_cl_isnormalDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z8isnormalDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z12_cl_isnormalDv3_d(<3 x double> %a)
  ret <3 x i64> %call
}


declare <3 x i64> @_Z13_cl_isorderedDv3_dS_(<3 x double>, <3 x double>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z9isorderedDv3_dS_(<3 x double> %a, <3 x double> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z13_cl_isorderedDv3_dS_(<3 x double> %a, <3 x double> %b)
  ret <3 x i64> %call
}


declare <3 x i64> @_Z15_cl_isunorderedDv3_dS_(<3 x double>, <3 x double>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z11isunorderedDv3_dS_(<3 x double> %a, <3 x double> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z15_cl_isunorderedDv3_dS_(<3 x double> %a, <3 x double> %b)
  ret <3 x i64> %call
}


declare <4 x double> @_Z8_cl_acosDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z4acosDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z8_cl_acosDv4_d(<4 x double> %a)
  ret <4 x double> %call
}


declare <4 x double> @_Z9_cl_acoshDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z5acoshDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z9_cl_acoshDv4_d(<4 x double> %a)
  ret <4 x double> %call
}


declare <4 x double> @_Z10_cl_acospiDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z6acospiDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z10_cl_acospiDv4_d(<4 x double> %a)
  ret <4 x double> %call
}


declare <4 x double> @_Z8_cl_asinDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z4asinDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z8_cl_asinDv4_d(<4 x double> %a)
  ret <4 x double> %call
}


declare <4 x double> @_Z9_cl_asinhDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z5asinhDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z9_cl_asinhDv4_d(<4 x double> %a)
  ret <4 x double> %call
}


declare <4 x double> @_Z10_cl_asinpiDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z6asinpiDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z10_cl_asinpiDv4_d(<4 x double> %a)
  ret <4 x double> %call
}


declare <4 x double> @_Z8_cl_atanDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z4atanDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z8_cl_atanDv4_d(<4 x double> %a)
  ret <4 x double> %call
}


declare <4 x double> @_Z9_cl_atanhDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z5atanhDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z9_cl_atanhDv4_d(<4 x double> %a)
  ret <4 x double> %call
}


declare <4 x double> @_Z10_cl_atanpiDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z6atanpiDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z10_cl_atanpiDv4_d(<4 x double> %a)
  ret <4 x double> %call
}


declare <4 x double> @_Z8_cl_cbrtDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z4cbrtDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z8_cl_cbrtDv4_d(<4 x double> %a)
  ret <4 x double> %call
}


declare <4 x double> @_Z8_cl_ceilDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z4ceilDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z8_cl_ceilDv4_d(<4 x double> %a)
  ret <4 x double> %call
}


declare <4 x double> @_Z7_cl_cosDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z3cosDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z7_cl_cosDv4_d(<4 x double> %a)
  ret <4 x double> %call
}


declare <4 x double> @_Z8_cl_coshDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z4coshDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z8_cl_coshDv4_d(<4 x double> %a)
  ret <4 x double> %call
}


declare <4 x double> @_Z9_cl_cospiDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z5cospiDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z9_cl_cospiDv4_d(<4 x double> %a)
  ret <4 x double> %call
}


declare <4 x double> @_Z8_cl_erfcDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z4erfcDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z8_cl_erfcDv4_d(<4 x double> %a)
  ret <4 x double> %call
}


declare <4 x double> @_Z7_cl_erfDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z3erfDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z7_cl_erfDv4_d(<4 x double> %a)
  ret <4 x double> %call
}


declare <4 x double> @_Z7_cl_expDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z3expDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z7_cl_expDv4_d(<4 x double> %a)
  ret <4 x double> %call
}


declare <4 x double> @_Z8_cl_exp2Dv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z4exp2Dv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z8_cl_exp2Dv4_d(<4 x double> %a)
  ret <4 x double> %call
}


declare <4 x double> @_Z9_cl_exp10Dv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z5exp10Dv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z9_cl_exp10Dv4_d(<4 x double> %a)
  ret <4 x double> %call
}


declare <4 x double> @_Z9_cl_expm1Dv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z5expm1Dv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z9_cl_expm1Dv4_d(<4 x double> %a)
  ret <4 x double> %call
}


declare <4 x double> @_Z8_cl_fabsDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z4fabsDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z8_cl_fabsDv4_d(<4 x double> %a)
  ret <4 x double> %call
}


declare <4 x double> @_Z9_cl_floorDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z5floorDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z9_cl_floorDv4_d(<4 x double> %a)
  ret <4 x double> %call
}


declare <4 x double> @_Z10_cl_lgammaDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z6lgammaDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z10_cl_lgammaDv4_d(<4 x double> %a)
  ret <4 x double> %call
}


declare <4 x double> @_Z7_cl_logDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z3logDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z7_cl_logDv4_d(<4 x double> %a)
  ret <4 x double> %call
}


declare <4 x double> @_Z9_cl_log10Dv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z5log10Dv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z9_cl_log10Dv4_d(<4 x double> %a)
  ret <4 x double> %call
}


declare <4 x double> @_Z8_cl_log2Dv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z4log2Dv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z8_cl_log2Dv4_d(<4 x double> %a)
  ret <4 x double> %call
}


declare <4 x double> @_Z9_cl_log1pDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z5log1pDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z9_cl_log1pDv4_d(<4 x double> %a)
  ret <4 x double> %call
}


declare <4 x double> @_Z8_cl_logbDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z4logbDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z8_cl_logbDv4_d(<4 x double> %a)
  ret <4 x double> %call
}


declare <4 x double> @_Z8_cl_rintDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z4rintDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z8_cl_rintDv4_d(<4 x double> %a)
  ret <4 x double> %call
}


declare <4 x double> @_Z9_cl_roundDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z5roundDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z9_cl_roundDv4_d(<4 x double> %a)
  ret <4 x double> %call
}


declare <4 x double> @_Z9_cl_rsqrtDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z5rsqrtDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z9_cl_rsqrtDv4_d(<4 x double> %a)
  ret <4 x double> %call
}


declare <4 x double> @_Z7_cl_sinDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z3sinDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z7_cl_sinDv4_d(<4 x double> %a)
  ret <4 x double> %call
}


declare <4 x double> @_Z8_cl_sinhDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z4sinhDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z8_cl_sinhDv4_d(<4 x double> %a)
  ret <4 x double> %call
}


declare <4 x double> @_Z9_cl_sinpiDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z5sinpiDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z9_cl_sinpiDv4_d(<4 x double> %a)
  ret <4 x double> %call
}


declare <4 x double> @_Z8_cl_sqrtDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z4sqrtDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z8_cl_sqrtDv4_d(<4 x double> %a)
  ret <4 x double> %call
}


declare <4 x double> @_Z7_cl_tanDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z3tanDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z7_cl_tanDv4_d(<4 x double> %a)
  ret <4 x double> %call
}


declare <4 x double> @_Z8_cl_tanhDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z4tanhDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z8_cl_tanhDv4_d(<4 x double> %a)
  ret <4 x double> %call
}


declare <4 x double> @_Z9_cl_tanpiDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z5tanpiDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z9_cl_tanpiDv4_d(<4 x double> %a)
  ret <4 x double> %call
}


declare <4 x double> @_Z10_cl_tgammaDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z6tgammaDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z10_cl_tgammaDv4_d(<4 x double> %a)
  ret <4 x double> %call
}


declare <4 x double> @_Z9_cl_truncDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z5truncDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z9_cl_truncDv4_d(<4 x double> %a)
  ret <4 x double> %call
}


declare <4 x double> @_Z14_cl_native_cosDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z10native_cosDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z14_cl_native_cosDv4_d(<4 x double> %a)
  ret <4 x double> %call
}


declare <4 x double> @_Z14_cl_native_expDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z10native_expDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z14_cl_native_expDv4_d(<4 x double> %a)
  ret <4 x double> %call
}


declare <4 x double> @_Z15_cl_native_exp2Dv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z11native_exp2Dv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z15_cl_native_exp2Dv4_d(<4 x double> %a)
  ret <4 x double> %call
}


declare <4 x double> @_Z16_cl_native_exp10Dv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z12native_exp10Dv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z16_cl_native_exp10Dv4_d(<4 x double> %a)
  ret <4 x double> %call
}


declare <4 x double> @_Z14_cl_native_logDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z10native_logDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z14_cl_native_logDv4_d(<4 x double> %a)
  ret <4 x double> %call
}


declare <4 x double> @_Z15_cl_native_log2Dv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z11native_log2Dv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z15_cl_native_log2Dv4_d(<4 x double> %a)
  ret <4 x double> %call
}


declare <4 x double> @_Z16_cl_native_log10Dv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z12native_log10Dv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z16_cl_native_log10Dv4_d(<4 x double> %a)
  ret <4 x double> %call
}


declare <4 x double> @_Z16_cl_native_recipDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z12native_recipDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z16_cl_native_recipDv4_d(<4 x double> %a)
  ret <4 x double> %call
}


declare <4 x double> @_Z16_cl_native_rsqrtDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z12native_rsqrtDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z16_cl_native_rsqrtDv4_d(<4 x double> %a)
  ret <4 x double> %call
}


declare <4 x double> @_Z14_cl_native_sinDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z10native_sinDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z14_cl_native_sinDv4_d(<4 x double> %a)
  ret <4 x double> %call
}


declare <4 x double> @_Z15_cl_native_sqrtDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z11native_sqrtDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z15_cl_native_sqrtDv4_d(<4 x double> %a)
  ret <4 x double> %call
}


declare <4 x double> @_Z14_cl_native_tanDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z10native_tanDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z14_cl_native_tanDv4_d(<4 x double> %a)
  ret <4 x double> %call
}


declare <4 x double> @_Z11_cl_degreesDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z7degreesDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z11_cl_degreesDv4_d(<4 x double> %a)
  ret <4 x double> %call
}


declare <4 x double> @_Z11_cl_radiansDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z7radiansDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z11_cl_radiansDv4_d(<4 x double> %a)
  ret <4 x double> %call
}


declare <4 x double> @_Z8_cl_signDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z4signDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z8_cl_signDv4_d(<4 x double> %a)
  ret <4 x double> %call
}


declare <4 x double> @_Z9_cl_atan2Dv4_dS_(<4 x double>, <4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z5atan2Dv4_dS_(<4 x double> %a, <4 x double> %b) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z9_cl_atan2Dv4_dS_(<4 x double> %a, <4 x double> %b)
  ret <4 x double> %call
}


declare <4 x double> @_Z11_cl_atan2piDv4_dS_(<4 x double>, <4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z7atan2piDv4_dS_(<4 x double> %a, <4 x double> %b) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z11_cl_atan2piDv4_dS_(<4 x double> %a, <4 x double> %b)
  ret <4 x double> %call
}


declare <4 x double> @_Z12_cl_copysignDv4_dS_(<4 x double>, <4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z8copysignDv4_dS_(<4 x double> %a, <4 x double> %b) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z12_cl_copysignDv4_dS_(<4 x double> %a, <4 x double> %b)
  ret <4 x double> %call
}


declare <4 x double> @_Z8_cl_fdimDv4_dS_(<4 x double>, <4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z4fdimDv4_dS_(<4 x double> %a, <4 x double> %b) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z8_cl_fdimDv4_dS_(<4 x double> %a, <4 x double> %b)
  ret <4 x double> %call
}


declare <4 x double> @_Z8_cl_fmaxDv4_dS_(<4 x double>, <4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z4fmaxDv4_dS_(<4 x double> %a, <4 x double> %b) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z8_cl_fmaxDv4_dS_(<4 x double> %a, <4 x double> %b)
  ret <4 x double> %call
}


declare <4 x double> @_Z8_cl_fminDv4_dS_(<4 x double>, <4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z4fminDv4_dS_(<4 x double> %a, <4 x double> %b) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z8_cl_fminDv4_dS_(<4 x double> %a, <4 x double> %b)
  ret <4 x double> %call
}


declare <4 x double> @_Z8_cl_fmodDv4_dS_(<4 x double>, <4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z4fmodDv4_dS_(<4 x double> %a, <4 x double> %b) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z8_cl_fmodDv4_dS_(<4 x double> %a, <4 x double> %b)
  ret <4 x double> %call
}


declare <4 x double> @_Z9_cl_hypotDv4_dS_(<4 x double>, <4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z5hypotDv4_dS_(<4 x double> %a, <4 x double> %b) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z9_cl_hypotDv4_dS_(<4 x double> %a, <4 x double> %b)
  ret <4 x double> %call
}


declare <4 x double> @_Z13_cl_nextafterDv4_dS_(<4 x double>, <4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z9nextafterDv4_dS_(<4 x double> %a, <4 x double> %b) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z13_cl_nextafterDv4_dS_(<4 x double> %a, <4 x double> %b)
  ret <4 x double> %call
}


declare <4 x double> @_Z7_cl_powDv4_dS_(<4 x double>, <4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z3powDv4_dS_(<4 x double> %a, <4 x double> %b) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z7_cl_powDv4_dS_(<4 x double> %a, <4 x double> %b)
  ret <4 x double> %call
}


declare <4 x double> @_Z8_cl_powrDv4_dS_(<4 x double>, <4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z4powrDv4_dS_(<4 x double> %a, <4 x double> %b) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z8_cl_powrDv4_dS_(<4 x double> %a, <4 x double> %b)
  ret <4 x double> %call
}


declare <4 x double> @_Z10_cl_maxmagDv4_dS_(<4 x double>, <4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z6maxmagDv4_dS_(<4 x double> %a, <4 x double> %b) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z10_cl_maxmagDv4_dS_(<4 x double> %a, <4 x double> %b)
  ret <4 x double> %call
}


declare <4 x double> @_Z10_cl_minmagDv4_dS_(<4 x double>, <4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z6minmagDv4_dS_(<4 x double> %a, <4 x double> %b) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z10_cl_minmagDv4_dS_(<4 x double> %a, <4 x double> %b)
  ret <4 x double> %call
}


declare <4 x double> @_Z13_cl_remainderDv4_dS_(<4 x double>, <4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z9remainderDv4_dS_(<4 x double> %a, <4 x double> %b) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z13_cl_remainderDv4_dS_(<4 x double> %a, <4 x double> %b)
  ret <4 x double> %call
}


declare <4 x double> @_Z17_cl_native_divideDv4_dS_(<4 x double>, <4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z13native_divideDv4_dS_(<4 x double> %a, <4 x double> %b) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z17_cl_native_divideDv4_dS_(<4 x double> %a, <4 x double> %b)
  ret <4 x double> %call
}


declare <4 x double> @_Z15_cl_native_powrDv4_dS_(<4 x double>, <4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z11native_powrDv4_dS_(<4 x double> %a, <4 x double> %b) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z15_cl_native_powrDv4_dS_(<4 x double> %a, <4 x double> %b)
  ret <4 x double> %call
}


declare <4 x double> @_Z7_cl_maxDv4_dS_(<4 x double>, <4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z3maxDv4_dS_(<4 x double> %a, <4 x double> %b) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z7_cl_maxDv4_dS_(<4 x double> %a, <4 x double> %b)
  ret <4 x double> %call
}


declare <4 x double> @_Z7_cl_minDv4_dS_(<4 x double>, <4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z3minDv4_dS_(<4 x double> %a, <4 x double> %b) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z7_cl_minDv4_dS_(<4 x double> %a, <4 x double> %b)
  ret <4 x double> %call
}


declare <4 x double> @_Z8_cl_stepDv4_dS_(<4 x double>, <4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z4stepDv4_dS_(<4 x double> %a, <4 x double> %b) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z8_cl_stepDv4_dS_(<4 x double> %a, <4 x double> %b)
  ret <4 x double> %call
}


declare <4 x double> @_Z9_cl_fractDv4_dPU3AS1S_(<4 x double>, <4 x double> addrspace(1)*) local_unnamed_addr #0

define spir_func <4 x double> @_Z5fractDv4_dPU3AS1S_(<4 x double> %a, <4 x double> addrspace(1)* %b) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z9_cl_fractDv4_dPU3AS1S_(<4 x double> %a, <4 x double> addrspace(1)* %b)
  ret <4 x double> %call
}


declare <4 x double> @_Z9_cl_fractDv4_dPU3AS3S_(<4 x double>, <4 x double> addrspace(3)*) local_unnamed_addr #0

define spir_func <4 x double> @_Z5fractDv4_dPU3AS3S_(<4 x double> %a, <4 x double> addrspace(3)* %b) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z9_cl_fractDv4_dPU3AS3S_(<4 x double> %a, <4 x double> addrspace(3)* %b)
  ret <4 x double> %call
}


declare <4 x double> @_Z9_cl_fractDv4_dPS_(<4 x double>, <4 x double> *) local_unnamed_addr #0

define spir_func <4 x double> @_Z5fractDv4_dPS_(<4 x double> %a, <4 x double> * %b) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z9_cl_fractDv4_dPS_(<4 x double> %a, <4 x double> * %b)
  ret <4 x double> %call
}


declare <4 x double> @_Z10_cl_sincosDv4_dPU3AS1S_(<4 x double>, <4 x double> addrspace(1)*) local_unnamed_addr #0

define spir_func <4 x double> @_Z6sincosDv4_dPU3AS1S_(<4 x double> %a, <4 x double> addrspace(1)* %b) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z10_cl_sincosDv4_dPU3AS1S_(<4 x double> %a, <4 x double> addrspace(1)* %b)
  ret <4 x double> %call
}


declare <4 x double> @_Z10_cl_sincosDv4_dPU3AS3S_(<4 x double>, <4 x double> addrspace(3)*) local_unnamed_addr #0

define spir_func <4 x double> @_Z6sincosDv4_dPU3AS3S_(<4 x double> %a, <4 x double> addrspace(3)* %b) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z10_cl_sincosDv4_dPU3AS3S_(<4 x double> %a, <4 x double> addrspace(3)* %b)
  ret <4 x double> %call
}


declare <4 x double> @_Z10_cl_sincosDv4_dPS_(<4 x double>, <4 x double> *) local_unnamed_addr #0

define spir_func <4 x double> @_Z6sincosDv4_dPS_(<4 x double> %a, <4 x double> * %b) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z10_cl_sincosDv4_dPS_(<4 x double> %a, <4 x double> * %b)
  ret <4 x double> %call
}


declare <4 x double> @_Z8_cl_modfDv4_dPU3AS1S_(<4 x double>, <4 x double> addrspace(1)*) local_unnamed_addr #0

define spir_func <4 x double> @_Z4modfDv4_dPU3AS1S_(<4 x double> %a, <4 x double> addrspace(1)* %b) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z8_cl_modfDv4_dPU3AS1S_(<4 x double> %a, <4 x double> addrspace(1)* %b)
  ret <4 x double> %call
}


declare <4 x double> @_Z8_cl_modfDv4_dPU3AS3S_(<4 x double>, <4 x double> addrspace(3)*) local_unnamed_addr #0

define spir_func <4 x double> @_Z4modfDv4_dPU3AS3S_(<4 x double> %a, <4 x double> addrspace(3)* %b) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z8_cl_modfDv4_dPU3AS3S_(<4 x double> %a, <4 x double> addrspace(3)* %b)
  ret <4 x double> %call
}


declare <4 x double> @_Z8_cl_modfDv4_dPS_(<4 x double>, <4 x double> *) local_unnamed_addr #0

define spir_func <4 x double> @_Z4modfDv4_dPS_(<4 x double> %a, <4 x double> * %b) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z8_cl_modfDv4_dPS_(<4 x double> %a, <4 x double> * %b)
  ret <4 x double> %call
}


declare <4 x double> @_Z13_cl_bitselectDv4_dS_S_(<4 x double>, <4 x double>, <4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z9bitselectDv4_dS_S_(<4 x double> %a, <4 x double> %b, <4 x double> %c) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z13_cl_bitselectDv4_dS_S_(<4 x double> %a, <4 x double> %b, <4 x double> %c)
  ret <4 x double> %call
}


declare <4 x double> @_Z9_cl_clampDv4_dS_S_(<4 x double>, <4 x double>, <4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z5clampDv4_dS_S_(<4 x double> %a, <4 x double> %b, <4 x double> %c) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z9_cl_clampDv4_dS_S_(<4 x double> %a, <4 x double> %b, <4 x double> %c)
  ret <4 x double> %call
}


declare <4 x double> @_Z7_cl_fmaDv4_dS_S_(<4 x double>, <4 x double>, <4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z3fmaDv4_dS_S_(<4 x double> %a, <4 x double> %b, <4 x double> %c) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z7_cl_fmaDv4_dS_S_(<4 x double> %a, <4 x double> %b, <4 x double> %c)
  ret <4 x double> %call
}


declare <4 x double> @_Z7_cl_madDv4_dS_S_(<4 x double>, <4 x double>, <4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z3madDv4_dS_S_(<4 x double> %a, <4 x double> %b, <4 x double> %c) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z7_cl_madDv4_dS_S_(<4 x double> %a, <4 x double> %b, <4 x double> %c)
  ret <4 x double> %call
}


declare <4 x double> @_Z7_cl_mixDv4_dS_S_(<4 x double>, <4 x double>, <4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z3mixDv4_dS_S_(<4 x double> %a, <4 x double> %b, <4 x double> %c) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z7_cl_mixDv4_dS_S_(<4 x double> %a, <4 x double> %b, <4 x double> %c)
  ret <4 x double> %call
}


declare <4 x double> @_Z14_cl_smoothstepDv4_dS_S_(<4 x double>, <4 x double>, <4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z10smoothstepDv4_dS_S_(<4 x double> %a, <4 x double> %b, <4 x double> %c) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z14_cl_smoothstepDv4_dS_S_(<4 x double> %a, <4 x double> %b, <4 x double> %c)
  ret <4 x double> %call
}


declare i32 @_Z9_cl_ilogbDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func i32 @_Z5ilogbDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z9_cl_ilogbDv4_d(<4 x double> %a)
  ret i32 %call
}


declare <4 x double> @_Z9_cl_ldexpDv4_dDv4_i(<4 x double>, <4 x i32>) local_unnamed_addr #0

define spir_func <4 x double> @_Z5ldexpDv4_dDv4_i(<4 x double> %a, <4 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z9_cl_ldexpDv4_dDv4_i(<4 x double> %a, <4 x i32> %b)
  ret <4 x double> %call
}


declare <4 x double> @_Z8_cl_pownDv4_dDv4_i(<4 x double>, <4 x i32>) local_unnamed_addr #0

define spir_func <4 x double> @_Z4pownDv4_dDv4_i(<4 x double> %a, <4 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z8_cl_pownDv4_dDv4_i(<4 x double> %a, <4 x i32> %b)
  ret <4 x double> %call
}


declare <4 x double> @_Z9_cl_rootnDv4_dDv4_i(<4 x double>, <4 x i32>) local_unnamed_addr #0

define spir_func <4 x double> @_Z5rootnDv4_dDv4_i(<4 x double> %a, <4 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z9_cl_rootnDv4_dDv4_i(<4 x double> %a, <4 x i32> %b)
  ret <4 x double> %call
}


declare <4 x double> @_Z10_cl_remquoDv4_dS_PU3AS1Dv4_i(<4 x double>, <4 x double>, <4 x i32> addrspace(1)*) local_unnamed_addr #0

define spir_func <4 x double> @_Z6remquoDv4_dS_PU3AS1Dv4_i(<4 x double> %a, <4 x double> %b, <4 x i32> addrspace(1)* %c) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z10_cl_remquoDv4_dS_PU3AS1Dv4_i(<4 x double> %a, <4 x double> %b, <4 x i32> addrspace(1)* %c)
  ret <4 x double> %call
}


declare <4 x double> @_Z10_cl_remquoDv4_dS_PU3AS3Dv4_i(<4 x double>, <4 x double>, <4 x i32> addrspace(3)*) local_unnamed_addr #0

define spir_func <4 x double> @_Z6remquoDv4_dS_PU3AS3Dv4_i(<4 x double> %a, <4 x double> %b, <4 x i32> addrspace(3)* %c) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z10_cl_remquoDv4_dS_PU3AS3Dv4_i(<4 x double> %a, <4 x double> %b, <4 x i32> addrspace(3)* %c)
  ret <4 x double> %call
}


declare <4 x double> @_Z10_cl_remquoDv4_dS_PDv4_i(<4 x double>, <4 x double>, <4 x i32> *) local_unnamed_addr #0

define spir_func <4 x double> @_Z6remquoDv4_dS_PDv4_i(<4 x double> %a, <4 x double> %b, <4 x i32> * %c) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z10_cl_remquoDv4_dS_PDv4_i(<4 x double> %a, <4 x double> %b, <4 x i32> * %c)
  ret <4 x double> %call
}


declare <4 x double> @_Z7_cl_nanDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x double> @_Z3nanDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z7_cl_nanDv4_m(<4 x i64> %a)
  ret <4 x double> %call
}


declare <4 x double> @_Z12_cl_lgamma_rDv4_dPU3AS1Dv4_i(<4 x double>, <4 x i32> addrspace(1)*) local_unnamed_addr #0

define spir_func <4 x double> @_Z8lgamma_rDv4_dPU3AS1Dv4_i(<4 x double> %a, <4 x i32> addrspace(1)* %b) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z12_cl_lgamma_rDv4_dPU3AS1Dv4_i(<4 x double> %a, <4 x i32> addrspace(1)* %b)
  ret <4 x double> %call
}


declare <4 x double> @_Z12_cl_lgamma_rDv4_dPU3AS3Dv4_i(<4 x double>, <4 x i32> addrspace(3)*) local_unnamed_addr #0

define spir_func <4 x double> @_Z8lgamma_rDv4_dPU3AS3Dv4_i(<4 x double> %a, <4 x i32> addrspace(3)* %b) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z12_cl_lgamma_rDv4_dPU3AS3Dv4_i(<4 x double> %a, <4 x i32> addrspace(3)* %b)
  ret <4 x double> %call
}


declare <4 x double> @_Z12_cl_lgamma_rDv4_dPDv4_i(<4 x double>, <4 x i32> *) local_unnamed_addr #0

define spir_func <4 x double> @_Z8lgamma_rDv4_dPDv4_i(<4 x double> %a, <4 x i32> * %b) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z12_cl_lgamma_rDv4_dPDv4_i(<4 x double> %a, <4 x i32> * %b)
  ret <4 x double> %call
}


declare <4 x double> @_Z9_cl_frexpDv4_dPU3AS1Dv4_i(<4 x double>, <4 x i32> addrspace(1)*) local_unnamed_addr #0

define spir_func <4 x double> @_Z5frexpDv4_dPU3AS1Dv4_i(<4 x double> %a, <4 x i32> addrspace(1)* %b) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z9_cl_frexpDv4_dPU3AS1Dv4_i(<4 x double> %a, <4 x i32> addrspace(1)* %b)
  ret <4 x double> %call
}


declare <4 x double> @_Z9_cl_frexpDv4_dPU3AS3Dv4_i(<4 x double>, <4 x i32> addrspace(3)*) local_unnamed_addr #0

define spir_func <4 x double> @_Z5frexpDv4_dPU3AS3Dv4_i(<4 x double> %a, <4 x i32> addrspace(3)* %b) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z9_cl_frexpDv4_dPU3AS3Dv4_i(<4 x double> %a, <4 x i32> addrspace(3)* %b)
  ret <4 x double> %call
}


declare <4 x double> @_Z9_cl_frexpDv4_dPDv4_i(<4 x double>, <4 x i32> *) local_unnamed_addr #0

define spir_func <4 x double> @_Z5frexpDv4_dPDv4_i(<4 x double> %a, <4 x i32> * %b) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z9_cl_frexpDv4_dPDv4_i(<4 x double> %a, <4 x i32> * %b)
  ret <4 x double> %call
}


declare <4 x double> @_Z10_cl_selectDv4_dS_Dv4_l(<4 x double>, <4 x double>, <4 x i64>) local_unnamed_addr #0

define spir_func <4 x double> @_Z6selectDv4_dS_Dv4_l(<4 x double> %a, <4 x double> %b, <4 x i64> %c) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z10_cl_selectDv4_dS_Dv4_l(<4 x double> %a, <4 x double> %b, <4 x i64> %c)
  ret <4 x double> %call
}


declare <4 x double> @_Z10_cl_selectDv4_dS_Dv4_m(<4 x double>, <4 x double>, <4 x i64>) local_unnamed_addr #0

define spir_func <4 x double> @_Z6selectDv4_dS_Dv4_m(<4 x double> %a, <4 x double> %b, <4 x i64> %c) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z10_cl_selectDv4_dS_Dv4_m(<4 x double> %a, <4 x double> %b, <4 x i64> %c)
  ret <4 x double> %call
}


declare <4 x i64> @_Z11_cl_signbitDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z7signbitDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z11_cl_signbitDv4_d(<4 x double> %a)
  ret <4 x i64> %call
}


declare <4 x i64> @_Z11_cl_isequalDv4_dS_(<4 x double>, <4 x double>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z7isequalDv4_dS_(<4 x double> %a, <4 x double> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z11_cl_isequalDv4_dS_(<4 x double> %a, <4 x double> %b)
  ret <4 x i64> %call
}


declare <4 x i64> @_Z14_cl_isnotequalDv4_dS_(<4 x double>, <4 x double>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z10isnotequalDv4_dS_(<4 x double> %a, <4 x double> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z14_cl_isnotequalDv4_dS_(<4 x double> %a, <4 x double> %b)
  ret <4 x i64> %call
}


declare <4 x i64> @_Z13_cl_isgreaterDv4_dS_(<4 x double>, <4 x double>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z9isgreaterDv4_dS_(<4 x double> %a, <4 x double> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z13_cl_isgreaterDv4_dS_(<4 x double> %a, <4 x double> %b)
  ret <4 x i64> %call
}


declare <4 x i64> @_Z18_cl_isgreaterequalDv4_dS_(<4 x double>, <4 x double>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z14isgreaterequalDv4_dS_(<4 x double> %a, <4 x double> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z18_cl_isgreaterequalDv4_dS_(<4 x double> %a, <4 x double> %b)
  ret <4 x i64> %call
}


declare <4 x i64> @_Z10_cl_islessDv4_dS_(<4 x double>, <4 x double>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z6islessDv4_dS_(<4 x double> %a, <4 x double> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z10_cl_islessDv4_dS_(<4 x double> %a, <4 x double> %b)
  ret <4 x i64> %call
}


declare <4 x i64> @_Z15_cl_islessequalDv4_dS_(<4 x double>, <4 x double>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z11islessequalDv4_dS_(<4 x double> %a, <4 x double> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z15_cl_islessequalDv4_dS_(<4 x double> %a, <4 x double> %b)
  ret <4 x i64> %call
}


declare <4 x i64> @_Z17_cl_islessgreaterDv4_dS_(<4 x double>, <4 x double>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z13islessgreaterDv4_dS_(<4 x double> %a, <4 x double> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z17_cl_islessgreaterDv4_dS_(<4 x double> %a, <4 x double> %b)
  ret <4 x i64> %call
}


declare <4 x i64> @_Z12_cl_isfiniteDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z8isfiniteDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z12_cl_isfiniteDv4_d(<4 x double> %a)
  ret <4 x i64> %call
}


declare <4 x i64> @_Z9_cl_isinfDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z5isinfDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z9_cl_isinfDv4_d(<4 x double> %a)
  ret <4 x i64> %call
}


declare <4 x i64> @_Z9_cl_isnanDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z5isnanDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z9_cl_isnanDv4_d(<4 x double> %a)
  ret <4 x i64> %call
}


declare <4 x i64> @_Z12_cl_isnormalDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z8isnormalDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z12_cl_isnormalDv4_d(<4 x double> %a)
  ret <4 x i64> %call
}


declare <4 x i64> @_Z13_cl_isorderedDv4_dS_(<4 x double>, <4 x double>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z9isorderedDv4_dS_(<4 x double> %a, <4 x double> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z13_cl_isorderedDv4_dS_(<4 x double> %a, <4 x double> %b)
  ret <4 x i64> %call
}


declare <4 x i64> @_Z15_cl_isunorderedDv4_dS_(<4 x double>, <4 x double>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z11isunorderedDv4_dS_(<4 x double> %a, <4 x double> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z15_cl_isunorderedDv4_dS_(<4 x double> %a, <4 x double> %b)
  ret <4 x i64> %call
}


declare <8 x double> @_Z8_cl_acosDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z4acosDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z8_cl_acosDv8_d(<8 x double> %a)
  ret <8 x double> %call
}


declare <8 x double> @_Z9_cl_acoshDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z5acoshDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z9_cl_acoshDv8_d(<8 x double> %a)
  ret <8 x double> %call
}


declare <8 x double> @_Z10_cl_acospiDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z6acospiDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z10_cl_acospiDv8_d(<8 x double> %a)
  ret <8 x double> %call
}


declare <8 x double> @_Z8_cl_asinDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z4asinDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z8_cl_asinDv8_d(<8 x double> %a)
  ret <8 x double> %call
}


declare <8 x double> @_Z9_cl_asinhDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z5asinhDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z9_cl_asinhDv8_d(<8 x double> %a)
  ret <8 x double> %call
}


declare <8 x double> @_Z10_cl_asinpiDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z6asinpiDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z10_cl_asinpiDv8_d(<8 x double> %a)
  ret <8 x double> %call
}


declare <8 x double> @_Z8_cl_atanDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z4atanDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z8_cl_atanDv8_d(<8 x double> %a)
  ret <8 x double> %call
}


declare <8 x double> @_Z9_cl_atanhDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z5atanhDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z9_cl_atanhDv8_d(<8 x double> %a)
  ret <8 x double> %call
}


declare <8 x double> @_Z10_cl_atanpiDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z6atanpiDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z10_cl_atanpiDv8_d(<8 x double> %a)
  ret <8 x double> %call
}


declare <8 x double> @_Z8_cl_cbrtDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z4cbrtDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z8_cl_cbrtDv8_d(<8 x double> %a)
  ret <8 x double> %call
}


declare <8 x double> @_Z8_cl_ceilDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z4ceilDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z8_cl_ceilDv8_d(<8 x double> %a)
  ret <8 x double> %call
}


declare <8 x double> @_Z7_cl_cosDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z3cosDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z7_cl_cosDv8_d(<8 x double> %a)
  ret <8 x double> %call
}


declare <8 x double> @_Z8_cl_coshDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z4coshDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z8_cl_coshDv8_d(<8 x double> %a)
  ret <8 x double> %call
}


declare <8 x double> @_Z9_cl_cospiDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z5cospiDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z9_cl_cospiDv8_d(<8 x double> %a)
  ret <8 x double> %call
}


declare <8 x double> @_Z8_cl_erfcDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z4erfcDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z8_cl_erfcDv8_d(<8 x double> %a)
  ret <8 x double> %call
}


declare <8 x double> @_Z7_cl_erfDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z3erfDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z7_cl_erfDv8_d(<8 x double> %a)
  ret <8 x double> %call
}


declare <8 x double> @_Z7_cl_expDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z3expDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z7_cl_expDv8_d(<8 x double> %a)
  ret <8 x double> %call
}


declare <8 x double> @_Z8_cl_exp2Dv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z4exp2Dv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z8_cl_exp2Dv8_d(<8 x double> %a)
  ret <8 x double> %call
}


declare <8 x double> @_Z9_cl_exp10Dv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z5exp10Dv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z9_cl_exp10Dv8_d(<8 x double> %a)
  ret <8 x double> %call
}


declare <8 x double> @_Z9_cl_expm1Dv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z5expm1Dv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z9_cl_expm1Dv8_d(<8 x double> %a)
  ret <8 x double> %call
}


declare <8 x double> @_Z8_cl_fabsDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z4fabsDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z8_cl_fabsDv8_d(<8 x double> %a)
  ret <8 x double> %call
}


declare <8 x double> @_Z9_cl_floorDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z5floorDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z9_cl_floorDv8_d(<8 x double> %a)
  ret <8 x double> %call
}


declare <8 x double> @_Z10_cl_lgammaDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z6lgammaDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z10_cl_lgammaDv8_d(<8 x double> %a)
  ret <8 x double> %call
}


declare <8 x double> @_Z7_cl_logDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z3logDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z7_cl_logDv8_d(<8 x double> %a)
  ret <8 x double> %call
}


declare <8 x double> @_Z9_cl_log10Dv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z5log10Dv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z9_cl_log10Dv8_d(<8 x double> %a)
  ret <8 x double> %call
}


declare <8 x double> @_Z8_cl_log2Dv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z4log2Dv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z8_cl_log2Dv8_d(<8 x double> %a)
  ret <8 x double> %call
}


declare <8 x double> @_Z9_cl_log1pDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z5log1pDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z9_cl_log1pDv8_d(<8 x double> %a)
  ret <8 x double> %call
}


declare <8 x double> @_Z8_cl_logbDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z4logbDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z8_cl_logbDv8_d(<8 x double> %a)
  ret <8 x double> %call
}


declare <8 x double> @_Z8_cl_rintDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z4rintDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z8_cl_rintDv8_d(<8 x double> %a)
  ret <8 x double> %call
}


declare <8 x double> @_Z9_cl_roundDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z5roundDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z9_cl_roundDv8_d(<8 x double> %a)
  ret <8 x double> %call
}


declare <8 x double> @_Z9_cl_rsqrtDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z5rsqrtDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z9_cl_rsqrtDv8_d(<8 x double> %a)
  ret <8 x double> %call
}


declare <8 x double> @_Z7_cl_sinDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z3sinDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z7_cl_sinDv8_d(<8 x double> %a)
  ret <8 x double> %call
}


declare <8 x double> @_Z8_cl_sinhDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z4sinhDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z8_cl_sinhDv8_d(<8 x double> %a)
  ret <8 x double> %call
}


declare <8 x double> @_Z9_cl_sinpiDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z5sinpiDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z9_cl_sinpiDv8_d(<8 x double> %a)
  ret <8 x double> %call
}


declare <8 x double> @_Z8_cl_sqrtDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z4sqrtDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z8_cl_sqrtDv8_d(<8 x double> %a)
  ret <8 x double> %call
}


declare <8 x double> @_Z7_cl_tanDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z3tanDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z7_cl_tanDv8_d(<8 x double> %a)
  ret <8 x double> %call
}


declare <8 x double> @_Z8_cl_tanhDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z4tanhDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z8_cl_tanhDv8_d(<8 x double> %a)
  ret <8 x double> %call
}


declare <8 x double> @_Z9_cl_tanpiDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z5tanpiDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z9_cl_tanpiDv8_d(<8 x double> %a)
  ret <8 x double> %call
}


declare <8 x double> @_Z10_cl_tgammaDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z6tgammaDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z10_cl_tgammaDv8_d(<8 x double> %a)
  ret <8 x double> %call
}


declare <8 x double> @_Z9_cl_truncDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z5truncDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z9_cl_truncDv8_d(<8 x double> %a)
  ret <8 x double> %call
}


declare <8 x double> @_Z14_cl_native_cosDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z10native_cosDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z14_cl_native_cosDv8_d(<8 x double> %a)
  ret <8 x double> %call
}


declare <8 x double> @_Z14_cl_native_expDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z10native_expDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z14_cl_native_expDv8_d(<8 x double> %a)
  ret <8 x double> %call
}


declare <8 x double> @_Z15_cl_native_exp2Dv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z11native_exp2Dv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z15_cl_native_exp2Dv8_d(<8 x double> %a)
  ret <8 x double> %call
}


declare <8 x double> @_Z16_cl_native_exp10Dv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z12native_exp10Dv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z16_cl_native_exp10Dv8_d(<8 x double> %a)
  ret <8 x double> %call
}


declare <8 x double> @_Z14_cl_native_logDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z10native_logDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z14_cl_native_logDv8_d(<8 x double> %a)
  ret <8 x double> %call
}


declare <8 x double> @_Z15_cl_native_log2Dv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z11native_log2Dv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z15_cl_native_log2Dv8_d(<8 x double> %a)
  ret <8 x double> %call
}


declare <8 x double> @_Z16_cl_native_log10Dv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z12native_log10Dv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z16_cl_native_log10Dv8_d(<8 x double> %a)
  ret <8 x double> %call
}


declare <8 x double> @_Z16_cl_native_recipDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z12native_recipDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z16_cl_native_recipDv8_d(<8 x double> %a)
  ret <8 x double> %call
}


declare <8 x double> @_Z16_cl_native_rsqrtDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z12native_rsqrtDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z16_cl_native_rsqrtDv8_d(<8 x double> %a)
  ret <8 x double> %call
}


declare <8 x double> @_Z14_cl_native_sinDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z10native_sinDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z14_cl_native_sinDv8_d(<8 x double> %a)
  ret <8 x double> %call
}


declare <8 x double> @_Z15_cl_native_sqrtDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z11native_sqrtDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z15_cl_native_sqrtDv8_d(<8 x double> %a)
  ret <8 x double> %call
}


declare <8 x double> @_Z14_cl_native_tanDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z10native_tanDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z14_cl_native_tanDv8_d(<8 x double> %a)
  ret <8 x double> %call
}


declare <8 x double> @_Z11_cl_degreesDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z7degreesDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z11_cl_degreesDv8_d(<8 x double> %a)
  ret <8 x double> %call
}


declare <8 x double> @_Z11_cl_radiansDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z7radiansDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z11_cl_radiansDv8_d(<8 x double> %a)
  ret <8 x double> %call
}


declare <8 x double> @_Z8_cl_signDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z4signDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z8_cl_signDv8_d(<8 x double> %a)
  ret <8 x double> %call
}


declare <8 x double> @_Z9_cl_atan2Dv8_dS_(<8 x double>, <8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z5atan2Dv8_dS_(<8 x double> %a, <8 x double> %b) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z9_cl_atan2Dv8_dS_(<8 x double> %a, <8 x double> %b)
  ret <8 x double> %call
}


declare <8 x double> @_Z11_cl_atan2piDv8_dS_(<8 x double>, <8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z7atan2piDv8_dS_(<8 x double> %a, <8 x double> %b) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z11_cl_atan2piDv8_dS_(<8 x double> %a, <8 x double> %b)
  ret <8 x double> %call
}


declare <8 x double> @_Z12_cl_copysignDv8_dS_(<8 x double>, <8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z8copysignDv8_dS_(<8 x double> %a, <8 x double> %b) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z12_cl_copysignDv8_dS_(<8 x double> %a, <8 x double> %b)
  ret <8 x double> %call
}


declare <8 x double> @_Z8_cl_fdimDv8_dS_(<8 x double>, <8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z4fdimDv8_dS_(<8 x double> %a, <8 x double> %b) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z8_cl_fdimDv8_dS_(<8 x double> %a, <8 x double> %b)
  ret <8 x double> %call
}


declare <8 x double> @_Z8_cl_fmaxDv8_dS_(<8 x double>, <8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z4fmaxDv8_dS_(<8 x double> %a, <8 x double> %b) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z8_cl_fmaxDv8_dS_(<8 x double> %a, <8 x double> %b)
  ret <8 x double> %call
}


declare <8 x double> @_Z8_cl_fminDv8_dS_(<8 x double>, <8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z4fminDv8_dS_(<8 x double> %a, <8 x double> %b) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z8_cl_fminDv8_dS_(<8 x double> %a, <8 x double> %b)
  ret <8 x double> %call
}


declare <8 x double> @_Z8_cl_fmodDv8_dS_(<8 x double>, <8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z4fmodDv8_dS_(<8 x double> %a, <8 x double> %b) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z8_cl_fmodDv8_dS_(<8 x double> %a, <8 x double> %b)
  ret <8 x double> %call
}


declare <8 x double> @_Z9_cl_hypotDv8_dS_(<8 x double>, <8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z5hypotDv8_dS_(<8 x double> %a, <8 x double> %b) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z9_cl_hypotDv8_dS_(<8 x double> %a, <8 x double> %b)
  ret <8 x double> %call
}


declare <8 x double> @_Z13_cl_nextafterDv8_dS_(<8 x double>, <8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z9nextafterDv8_dS_(<8 x double> %a, <8 x double> %b) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z13_cl_nextafterDv8_dS_(<8 x double> %a, <8 x double> %b)
  ret <8 x double> %call
}


declare <8 x double> @_Z7_cl_powDv8_dS_(<8 x double>, <8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z3powDv8_dS_(<8 x double> %a, <8 x double> %b) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z7_cl_powDv8_dS_(<8 x double> %a, <8 x double> %b)
  ret <8 x double> %call
}


declare <8 x double> @_Z8_cl_powrDv8_dS_(<8 x double>, <8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z4powrDv8_dS_(<8 x double> %a, <8 x double> %b) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z8_cl_powrDv8_dS_(<8 x double> %a, <8 x double> %b)
  ret <8 x double> %call
}


declare <8 x double> @_Z10_cl_maxmagDv8_dS_(<8 x double>, <8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z6maxmagDv8_dS_(<8 x double> %a, <8 x double> %b) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z10_cl_maxmagDv8_dS_(<8 x double> %a, <8 x double> %b)
  ret <8 x double> %call
}


declare <8 x double> @_Z10_cl_minmagDv8_dS_(<8 x double>, <8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z6minmagDv8_dS_(<8 x double> %a, <8 x double> %b) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z10_cl_minmagDv8_dS_(<8 x double> %a, <8 x double> %b)
  ret <8 x double> %call
}


declare <8 x double> @_Z13_cl_remainderDv8_dS_(<8 x double>, <8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z9remainderDv8_dS_(<8 x double> %a, <8 x double> %b) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z13_cl_remainderDv8_dS_(<8 x double> %a, <8 x double> %b)
  ret <8 x double> %call
}


declare <8 x double> @_Z17_cl_native_divideDv8_dS_(<8 x double>, <8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z13native_divideDv8_dS_(<8 x double> %a, <8 x double> %b) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z17_cl_native_divideDv8_dS_(<8 x double> %a, <8 x double> %b)
  ret <8 x double> %call
}


declare <8 x double> @_Z15_cl_native_powrDv8_dS_(<8 x double>, <8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z11native_powrDv8_dS_(<8 x double> %a, <8 x double> %b) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z15_cl_native_powrDv8_dS_(<8 x double> %a, <8 x double> %b)
  ret <8 x double> %call
}


declare <8 x double> @_Z7_cl_maxDv8_dS_(<8 x double>, <8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z3maxDv8_dS_(<8 x double> %a, <8 x double> %b) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z7_cl_maxDv8_dS_(<8 x double> %a, <8 x double> %b)
  ret <8 x double> %call
}


declare <8 x double> @_Z7_cl_minDv8_dS_(<8 x double>, <8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z3minDv8_dS_(<8 x double> %a, <8 x double> %b) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z7_cl_minDv8_dS_(<8 x double> %a, <8 x double> %b)
  ret <8 x double> %call
}


declare <8 x double> @_Z8_cl_stepDv8_dS_(<8 x double>, <8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z4stepDv8_dS_(<8 x double> %a, <8 x double> %b) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z8_cl_stepDv8_dS_(<8 x double> %a, <8 x double> %b)
  ret <8 x double> %call
}


declare <8 x double> @_Z9_cl_fractDv8_dPU3AS1S_(<8 x double>, <8 x double> addrspace(1)*) local_unnamed_addr #0

define spir_func <8 x double> @_Z5fractDv8_dPU3AS1S_(<8 x double> %a, <8 x double> addrspace(1)* %b) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z9_cl_fractDv8_dPU3AS1S_(<8 x double> %a, <8 x double> addrspace(1)* %b)
  ret <8 x double> %call
}


declare <8 x double> @_Z9_cl_fractDv8_dPU3AS3S_(<8 x double>, <8 x double> addrspace(3)*) local_unnamed_addr #0

define spir_func <8 x double> @_Z5fractDv8_dPU3AS3S_(<8 x double> %a, <8 x double> addrspace(3)* %b) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z9_cl_fractDv8_dPU3AS3S_(<8 x double> %a, <8 x double> addrspace(3)* %b)
  ret <8 x double> %call
}


declare <8 x double> @_Z9_cl_fractDv8_dPS_(<8 x double>, <8 x double> *) local_unnamed_addr #0

define spir_func <8 x double> @_Z5fractDv8_dPS_(<8 x double> %a, <8 x double> * %b) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z9_cl_fractDv8_dPS_(<8 x double> %a, <8 x double> * %b)
  ret <8 x double> %call
}


declare <8 x double> @_Z10_cl_sincosDv8_dPU3AS1S_(<8 x double>, <8 x double> addrspace(1)*) local_unnamed_addr #0

define spir_func <8 x double> @_Z6sincosDv8_dPU3AS1S_(<8 x double> %a, <8 x double> addrspace(1)* %b) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z10_cl_sincosDv8_dPU3AS1S_(<8 x double> %a, <8 x double> addrspace(1)* %b)
  ret <8 x double> %call
}


declare <8 x double> @_Z10_cl_sincosDv8_dPU3AS3S_(<8 x double>, <8 x double> addrspace(3)*) local_unnamed_addr #0

define spir_func <8 x double> @_Z6sincosDv8_dPU3AS3S_(<8 x double> %a, <8 x double> addrspace(3)* %b) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z10_cl_sincosDv8_dPU3AS3S_(<8 x double> %a, <8 x double> addrspace(3)* %b)
  ret <8 x double> %call
}


declare <8 x double> @_Z10_cl_sincosDv8_dPS_(<8 x double>, <8 x double> *) local_unnamed_addr #0

define spir_func <8 x double> @_Z6sincosDv8_dPS_(<8 x double> %a, <8 x double> * %b) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z10_cl_sincosDv8_dPS_(<8 x double> %a, <8 x double> * %b)
  ret <8 x double> %call
}


declare <8 x double> @_Z8_cl_modfDv8_dPU3AS1S_(<8 x double>, <8 x double> addrspace(1)*) local_unnamed_addr #0

define spir_func <8 x double> @_Z4modfDv8_dPU3AS1S_(<8 x double> %a, <8 x double> addrspace(1)* %b) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z8_cl_modfDv8_dPU3AS1S_(<8 x double> %a, <8 x double> addrspace(1)* %b)
  ret <8 x double> %call
}


declare <8 x double> @_Z8_cl_modfDv8_dPU3AS3S_(<8 x double>, <8 x double> addrspace(3)*) local_unnamed_addr #0

define spir_func <8 x double> @_Z4modfDv8_dPU3AS3S_(<8 x double> %a, <8 x double> addrspace(3)* %b) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z8_cl_modfDv8_dPU3AS3S_(<8 x double> %a, <8 x double> addrspace(3)* %b)
  ret <8 x double> %call
}


declare <8 x double> @_Z8_cl_modfDv8_dPS_(<8 x double>, <8 x double> *) local_unnamed_addr #0

define spir_func <8 x double> @_Z4modfDv8_dPS_(<8 x double> %a, <8 x double> * %b) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z8_cl_modfDv8_dPS_(<8 x double> %a, <8 x double> * %b)
  ret <8 x double> %call
}


declare <8 x double> @_Z13_cl_bitselectDv8_dS_S_(<8 x double>, <8 x double>, <8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z9bitselectDv8_dS_S_(<8 x double> %a, <8 x double> %b, <8 x double> %c) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z13_cl_bitselectDv8_dS_S_(<8 x double> %a, <8 x double> %b, <8 x double> %c)
  ret <8 x double> %call
}


declare <8 x double> @_Z9_cl_clampDv8_dS_S_(<8 x double>, <8 x double>, <8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z5clampDv8_dS_S_(<8 x double> %a, <8 x double> %b, <8 x double> %c) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z9_cl_clampDv8_dS_S_(<8 x double> %a, <8 x double> %b, <8 x double> %c)
  ret <8 x double> %call
}


declare <8 x double> @_Z7_cl_fmaDv8_dS_S_(<8 x double>, <8 x double>, <8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z3fmaDv8_dS_S_(<8 x double> %a, <8 x double> %b, <8 x double> %c) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z7_cl_fmaDv8_dS_S_(<8 x double> %a, <8 x double> %b, <8 x double> %c)
  ret <8 x double> %call
}


declare <8 x double> @_Z7_cl_madDv8_dS_S_(<8 x double>, <8 x double>, <8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z3madDv8_dS_S_(<8 x double> %a, <8 x double> %b, <8 x double> %c) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z7_cl_madDv8_dS_S_(<8 x double> %a, <8 x double> %b, <8 x double> %c)
  ret <8 x double> %call
}


declare <8 x double> @_Z7_cl_mixDv8_dS_S_(<8 x double>, <8 x double>, <8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z3mixDv8_dS_S_(<8 x double> %a, <8 x double> %b, <8 x double> %c) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z7_cl_mixDv8_dS_S_(<8 x double> %a, <8 x double> %b, <8 x double> %c)
  ret <8 x double> %call
}


declare <8 x double> @_Z14_cl_smoothstepDv8_dS_S_(<8 x double>, <8 x double>, <8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z10smoothstepDv8_dS_S_(<8 x double> %a, <8 x double> %b, <8 x double> %c) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z14_cl_smoothstepDv8_dS_S_(<8 x double> %a, <8 x double> %b, <8 x double> %c)
  ret <8 x double> %call
}


declare i32 @_Z9_cl_ilogbDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func i32 @_Z5ilogbDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z9_cl_ilogbDv8_d(<8 x double> %a)
  ret i32 %call
}


declare <8 x double> @_Z9_cl_ldexpDv8_dDv8_i(<8 x double>, <8 x i32>) local_unnamed_addr #0

define spir_func <8 x double> @_Z5ldexpDv8_dDv8_i(<8 x double> %a, <8 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z9_cl_ldexpDv8_dDv8_i(<8 x double> %a, <8 x i32> %b)
  ret <8 x double> %call
}


declare <8 x double> @_Z8_cl_pownDv8_dDv8_i(<8 x double>, <8 x i32>) local_unnamed_addr #0

define spir_func <8 x double> @_Z4pownDv8_dDv8_i(<8 x double> %a, <8 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z8_cl_pownDv8_dDv8_i(<8 x double> %a, <8 x i32> %b)
  ret <8 x double> %call
}


declare <8 x double> @_Z9_cl_rootnDv8_dDv8_i(<8 x double>, <8 x i32>) local_unnamed_addr #0

define spir_func <8 x double> @_Z5rootnDv8_dDv8_i(<8 x double> %a, <8 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z9_cl_rootnDv8_dDv8_i(<8 x double> %a, <8 x i32> %b)
  ret <8 x double> %call
}


declare <8 x double> @_Z10_cl_remquoDv8_dS_PU3AS1Dv8_i(<8 x double>, <8 x double>, <8 x i32> addrspace(1)*) local_unnamed_addr #0

define spir_func <8 x double> @_Z6remquoDv8_dS_PU3AS1Dv8_i(<8 x double> %a, <8 x double> %b, <8 x i32> addrspace(1)* %c) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z10_cl_remquoDv8_dS_PU3AS1Dv8_i(<8 x double> %a, <8 x double> %b, <8 x i32> addrspace(1)* %c)
  ret <8 x double> %call
}


declare <8 x double> @_Z10_cl_remquoDv8_dS_PU3AS3Dv8_i(<8 x double>, <8 x double>, <8 x i32> addrspace(3)*) local_unnamed_addr #0

define spir_func <8 x double> @_Z6remquoDv8_dS_PU3AS3Dv8_i(<8 x double> %a, <8 x double> %b, <8 x i32> addrspace(3)* %c) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z10_cl_remquoDv8_dS_PU3AS3Dv8_i(<8 x double> %a, <8 x double> %b, <8 x i32> addrspace(3)* %c)
  ret <8 x double> %call
}


declare <8 x double> @_Z10_cl_remquoDv8_dS_PDv8_i(<8 x double>, <8 x double>, <8 x i32> *) local_unnamed_addr #0

define spir_func <8 x double> @_Z6remquoDv8_dS_PDv8_i(<8 x double> %a, <8 x double> %b, <8 x i32> * %c) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z10_cl_remquoDv8_dS_PDv8_i(<8 x double> %a, <8 x double> %b, <8 x i32> * %c)
  ret <8 x double> %call
}


declare <8 x double> @_Z7_cl_nanDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x double> @_Z3nanDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z7_cl_nanDv8_m(<8 x i64> %a)
  ret <8 x double> %call
}


declare <8 x double> @_Z12_cl_lgamma_rDv8_dPU3AS1Dv8_i(<8 x double>, <8 x i32> addrspace(1)*) local_unnamed_addr #0

define spir_func <8 x double> @_Z8lgamma_rDv8_dPU3AS1Dv8_i(<8 x double> %a, <8 x i32> addrspace(1)* %b) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z12_cl_lgamma_rDv8_dPU3AS1Dv8_i(<8 x double> %a, <8 x i32> addrspace(1)* %b)
  ret <8 x double> %call
}


declare <8 x double> @_Z12_cl_lgamma_rDv8_dPU3AS3Dv8_i(<8 x double>, <8 x i32> addrspace(3)*) local_unnamed_addr #0

define spir_func <8 x double> @_Z8lgamma_rDv8_dPU3AS3Dv8_i(<8 x double> %a, <8 x i32> addrspace(3)* %b) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z12_cl_lgamma_rDv8_dPU3AS3Dv8_i(<8 x double> %a, <8 x i32> addrspace(3)* %b)
  ret <8 x double> %call
}


declare <8 x double> @_Z12_cl_lgamma_rDv8_dPDv8_i(<8 x double>, <8 x i32> *) local_unnamed_addr #0

define spir_func <8 x double> @_Z8lgamma_rDv8_dPDv8_i(<8 x double> %a, <8 x i32> * %b) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z12_cl_lgamma_rDv8_dPDv8_i(<8 x double> %a, <8 x i32> * %b)
  ret <8 x double> %call
}


declare <8 x double> @_Z9_cl_frexpDv8_dPU3AS1Dv8_i(<8 x double>, <8 x i32> addrspace(1)*) local_unnamed_addr #0

define spir_func <8 x double> @_Z5frexpDv8_dPU3AS1Dv8_i(<8 x double> %a, <8 x i32> addrspace(1)* %b) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z9_cl_frexpDv8_dPU3AS1Dv8_i(<8 x double> %a, <8 x i32> addrspace(1)* %b)
  ret <8 x double> %call
}


declare <8 x double> @_Z9_cl_frexpDv8_dPU3AS3Dv8_i(<8 x double>, <8 x i32> addrspace(3)*) local_unnamed_addr #0

define spir_func <8 x double> @_Z5frexpDv8_dPU3AS3Dv8_i(<8 x double> %a, <8 x i32> addrspace(3)* %b) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z9_cl_frexpDv8_dPU3AS3Dv8_i(<8 x double> %a, <8 x i32> addrspace(3)* %b)
  ret <8 x double> %call
}


declare <8 x double> @_Z9_cl_frexpDv8_dPDv8_i(<8 x double>, <8 x i32> *) local_unnamed_addr #0

define spir_func <8 x double> @_Z5frexpDv8_dPDv8_i(<8 x double> %a, <8 x i32> * %b) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z9_cl_frexpDv8_dPDv8_i(<8 x double> %a, <8 x i32> * %b)
  ret <8 x double> %call
}


declare <8 x double> @_Z10_cl_selectDv8_dS_Dv8_l(<8 x double>, <8 x double>, <8 x i64>) local_unnamed_addr #0

define spir_func <8 x double> @_Z6selectDv8_dS_Dv8_l(<8 x double> %a, <8 x double> %b, <8 x i64> %c) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z10_cl_selectDv8_dS_Dv8_l(<8 x double> %a, <8 x double> %b, <8 x i64> %c)
  ret <8 x double> %call
}


declare <8 x double> @_Z10_cl_selectDv8_dS_Dv8_m(<8 x double>, <8 x double>, <8 x i64>) local_unnamed_addr #0

define spir_func <8 x double> @_Z6selectDv8_dS_Dv8_m(<8 x double> %a, <8 x double> %b, <8 x i64> %c) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z10_cl_selectDv8_dS_Dv8_m(<8 x double> %a, <8 x double> %b, <8 x i64> %c)
  ret <8 x double> %call
}


declare <8 x i64> @_Z11_cl_signbitDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z7signbitDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z11_cl_signbitDv8_d(<8 x double> %a)
  ret <8 x i64> %call
}


declare <8 x i64> @_Z11_cl_isequalDv8_dS_(<8 x double>, <8 x double>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z7isequalDv8_dS_(<8 x double> %a, <8 x double> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z11_cl_isequalDv8_dS_(<8 x double> %a, <8 x double> %b)
  ret <8 x i64> %call
}


declare <8 x i64> @_Z14_cl_isnotequalDv8_dS_(<8 x double>, <8 x double>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z10isnotequalDv8_dS_(<8 x double> %a, <8 x double> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z14_cl_isnotequalDv8_dS_(<8 x double> %a, <8 x double> %b)
  ret <8 x i64> %call
}


declare <8 x i64> @_Z13_cl_isgreaterDv8_dS_(<8 x double>, <8 x double>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z9isgreaterDv8_dS_(<8 x double> %a, <8 x double> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z13_cl_isgreaterDv8_dS_(<8 x double> %a, <8 x double> %b)
  ret <8 x i64> %call
}


declare <8 x i64> @_Z18_cl_isgreaterequalDv8_dS_(<8 x double>, <8 x double>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z14isgreaterequalDv8_dS_(<8 x double> %a, <8 x double> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z18_cl_isgreaterequalDv8_dS_(<8 x double> %a, <8 x double> %b)
  ret <8 x i64> %call
}


declare <8 x i64> @_Z10_cl_islessDv8_dS_(<8 x double>, <8 x double>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z6islessDv8_dS_(<8 x double> %a, <8 x double> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z10_cl_islessDv8_dS_(<8 x double> %a, <8 x double> %b)
  ret <8 x i64> %call
}


declare <8 x i64> @_Z15_cl_islessequalDv8_dS_(<8 x double>, <8 x double>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z11islessequalDv8_dS_(<8 x double> %a, <8 x double> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z15_cl_islessequalDv8_dS_(<8 x double> %a, <8 x double> %b)
  ret <8 x i64> %call
}


declare <8 x i64> @_Z17_cl_islessgreaterDv8_dS_(<8 x double>, <8 x double>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z13islessgreaterDv8_dS_(<8 x double> %a, <8 x double> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z17_cl_islessgreaterDv8_dS_(<8 x double> %a, <8 x double> %b)
  ret <8 x i64> %call
}


declare <8 x i64> @_Z12_cl_isfiniteDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z8isfiniteDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z12_cl_isfiniteDv8_d(<8 x double> %a)
  ret <8 x i64> %call
}


declare <8 x i64> @_Z9_cl_isinfDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z5isinfDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z9_cl_isinfDv8_d(<8 x double> %a)
  ret <8 x i64> %call
}


declare <8 x i64> @_Z9_cl_isnanDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z5isnanDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z9_cl_isnanDv8_d(<8 x double> %a)
  ret <8 x i64> %call
}


declare <8 x i64> @_Z12_cl_isnormalDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z8isnormalDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z12_cl_isnormalDv8_d(<8 x double> %a)
  ret <8 x i64> %call
}


declare <8 x i64> @_Z13_cl_isorderedDv8_dS_(<8 x double>, <8 x double>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z9isorderedDv8_dS_(<8 x double> %a, <8 x double> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z13_cl_isorderedDv8_dS_(<8 x double> %a, <8 x double> %b)
  ret <8 x i64> %call
}


declare <8 x i64> @_Z15_cl_isunorderedDv8_dS_(<8 x double>, <8 x double>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z11isunorderedDv8_dS_(<8 x double> %a, <8 x double> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z15_cl_isunorderedDv8_dS_(<8 x double> %a, <8 x double> %b)
  ret <8 x i64> %call
}


declare <16 x double> @_Z8_cl_acosDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z4acosDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z8_cl_acosDv16_d(<16 x double> %a)
  ret <16 x double> %call
}


declare <16 x double> @_Z9_cl_acoshDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z5acoshDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z9_cl_acoshDv16_d(<16 x double> %a)
  ret <16 x double> %call
}


declare <16 x double> @_Z10_cl_acospiDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z6acospiDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z10_cl_acospiDv16_d(<16 x double> %a)
  ret <16 x double> %call
}


declare <16 x double> @_Z8_cl_asinDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z4asinDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z8_cl_asinDv16_d(<16 x double> %a)
  ret <16 x double> %call
}


declare <16 x double> @_Z9_cl_asinhDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z5asinhDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z9_cl_asinhDv16_d(<16 x double> %a)
  ret <16 x double> %call
}


declare <16 x double> @_Z10_cl_asinpiDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z6asinpiDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z10_cl_asinpiDv16_d(<16 x double> %a)
  ret <16 x double> %call
}


declare <16 x double> @_Z8_cl_atanDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z4atanDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z8_cl_atanDv16_d(<16 x double> %a)
  ret <16 x double> %call
}


declare <16 x double> @_Z9_cl_atanhDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z5atanhDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z9_cl_atanhDv16_d(<16 x double> %a)
  ret <16 x double> %call
}


declare <16 x double> @_Z10_cl_atanpiDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z6atanpiDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z10_cl_atanpiDv16_d(<16 x double> %a)
  ret <16 x double> %call
}


declare <16 x double> @_Z8_cl_cbrtDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z4cbrtDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z8_cl_cbrtDv16_d(<16 x double> %a)
  ret <16 x double> %call
}


declare <16 x double> @_Z8_cl_ceilDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z4ceilDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z8_cl_ceilDv16_d(<16 x double> %a)
  ret <16 x double> %call
}


declare <16 x double> @_Z7_cl_cosDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z3cosDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z7_cl_cosDv16_d(<16 x double> %a)
  ret <16 x double> %call
}


declare <16 x double> @_Z8_cl_coshDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z4coshDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z8_cl_coshDv16_d(<16 x double> %a)
  ret <16 x double> %call
}


declare <16 x double> @_Z9_cl_cospiDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z5cospiDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z9_cl_cospiDv16_d(<16 x double> %a)
  ret <16 x double> %call
}


declare <16 x double> @_Z8_cl_erfcDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z4erfcDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z8_cl_erfcDv16_d(<16 x double> %a)
  ret <16 x double> %call
}


declare <16 x double> @_Z7_cl_erfDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z3erfDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z7_cl_erfDv16_d(<16 x double> %a)
  ret <16 x double> %call
}


declare <16 x double> @_Z7_cl_expDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z3expDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z7_cl_expDv16_d(<16 x double> %a)
  ret <16 x double> %call
}


declare <16 x double> @_Z8_cl_exp2Dv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z4exp2Dv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z8_cl_exp2Dv16_d(<16 x double> %a)
  ret <16 x double> %call
}


declare <16 x double> @_Z9_cl_exp10Dv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z5exp10Dv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z9_cl_exp10Dv16_d(<16 x double> %a)
  ret <16 x double> %call
}


declare <16 x double> @_Z9_cl_expm1Dv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z5expm1Dv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z9_cl_expm1Dv16_d(<16 x double> %a)
  ret <16 x double> %call
}


declare <16 x double> @_Z8_cl_fabsDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z4fabsDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z8_cl_fabsDv16_d(<16 x double> %a)
  ret <16 x double> %call
}


declare <16 x double> @_Z9_cl_floorDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z5floorDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z9_cl_floorDv16_d(<16 x double> %a)
  ret <16 x double> %call
}


declare <16 x double> @_Z10_cl_lgammaDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z6lgammaDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z10_cl_lgammaDv16_d(<16 x double> %a)
  ret <16 x double> %call
}


declare <16 x double> @_Z7_cl_logDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z3logDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z7_cl_logDv16_d(<16 x double> %a)
  ret <16 x double> %call
}


declare <16 x double> @_Z9_cl_log10Dv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z5log10Dv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z9_cl_log10Dv16_d(<16 x double> %a)
  ret <16 x double> %call
}


declare <16 x double> @_Z8_cl_log2Dv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z4log2Dv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z8_cl_log2Dv16_d(<16 x double> %a)
  ret <16 x double> %call
}


declare <16 x double> @_Z9_cl_log1pDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z5log1pDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z9_cl_log1pDv16_d(<16 x double> %a)
  ret <16 x double> %call
}


declare <16 x double> @_Z8_cl_logbDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z4logbDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z8_cl_logbDv16_d(<16 x double> %a)
  ret <16 x double> %call
}


declare <16 x double> @_Z8_cl_rintDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z4rintDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z8_cl_rintDv16_d(<16 x double> %a)
  ret <16 x double> %call
}


declare <16 x double> @_Z9_cl_roundDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z5roundDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z9_cl_roundDv16_d(<16 x double> %a)
  ret <16 x double> %call
}


declare <16 x double> @_Z9_cl_rsqrtDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z5rsqrtDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z9_cl_rsqrtDv16_d(<16 x double> %a)
  ret <16 x double> %call
}


declare <16 x double> @_Z7_cl_sinDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z3sinDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z7_cl_sinDv16_d(<16 x double> %a)
  ret <16 x double> %call
}


declare <16 x double> @_Z8_cl_sinhDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z4sinhDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z8_cl_sinhDv16_d(<16 x double> %a)
  ret <16 x double> %call
}


declare <16 x double> @_Z9_cl_sinpiDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z5sinpiDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z9_cl_sinpiDv16_d(<16 x double> %a)
  ret <16 x double> %call
}


declare <16 x double> @_Z8_cl_sqrtDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z4sqrtDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z8_cl_sqrtDv16_d(<16 x double> %a)
  ret <16 x double> %call
}


declare <16 x double> @_Z7_cl_tanDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z3tanDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z7_cl_tanDv16_d(<16 x double> %a)
  ret <16 x double> %call
}


declare <16 x double> @_Z8_cl_tanhDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z4tanhDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z8_cl_tanhDv16_d(<16 x double> %a)
  ret <16 x double> %call
}


declare <16 x double> @_Z9_cl_tanpiDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z5tanpiDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z9_cl_tanpiDv16_d(<16 x double> %a)
  ret <16 x double> %call
}


declare <16 x double> @_Z10_cl_tgammaDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z6tgammaDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z10_cl_tgammaDv16_d(<16 x double> %a)
  ret <16 x double> %call
}


declare <16 x double> @_Z9_cl_truncDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z5truncDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z9_cl_truncDv16_d(<16 x double> %a)
  ret <16 x double> %call
}


declare <16 x double> @_Z14_cl_native_cosDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z10native_cosDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z14_cl_native_cosDv16_d(<16 x double> %a)
  ret <16 x double> %call
}


declare <16 x double> @_Z14_cl_native_expDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z10native_expDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z14_cl_native_expDv16_d(<16 x double> %a)
  ret <16 x double> %call
}


declare <16 x double> @_Z15_cl_native_exp2Dv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z11native_exp2Dv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z15_cl_native_exp2Dv16_d(<16 x double> %a)
  ret <16 x double> %call
}


declare <16 x double> @_Z16_cl_native_exp10Dv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z12native_exp10Dv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z16_cl_native_exp10Dv16_d(<16 x double> %a)
  ret <16 x double> %call
}


declare <16 x double> @_Z14_cl_native_logDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z10native_logDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z14_cl_native_logDv16_d(<16 x double> %a)
  ret <16 x double> %call
}


declare <16 x double> @_Z15_cl_native_log2Dv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z11native_log2Dv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z15_cl_native_log2Dv16_d(<16 x double> %a)
  ret <16 x double> %call
}


declare <16 x double> @_Z16_cl_native_log10Dv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z12native_log10Dv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z16_cl_native_log10Dv16_d(<16 x double> %a)
  ret <16 x double> %call
}


declare <16 x double> @_Z16_cl_native_recipDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z12native_recipDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z16_cl_native_recipDv16_d(<16 x double> %a)
  ret <16 x double> %call
}


declare <16 x double> @_Z16_cl_native_rsqrtDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z12native_rsqrtDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z16_cl_native_rsqrtDv16_d(<16 x double> %a)
  ret <16 x double> %call
}


declare <16 x double> @_Z14_cl_native_sinDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z10native_sinDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z14_cl_native_sinDv16_d(<16 x double> %a)
  ret <16 x double> %call
}


declare <16 x double> @_Z15_cl_native_sqrtDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z11native_sqrtDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z15_cl_native_sqrtDv16_d(<16 x double> %a)
  ret <16 x double> %call
}


declare <16 x double> @_Z14_cl_native_tanDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z10native_tanDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z14_cl_native_tanDv16_d(<16 x double> %a)
  ret <16 x double> %call
}


declare <16 x double> @_Z11_cl_degreesDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z7degreesDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z11_cl_degreesDv16_d(<16 x double> %a)
  ret <16 x double> %call
}


declare <16 x double> @_Z11_cl_radiansDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z7radiansDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z11_cl_radiansDv16_d(<16 x double> %a)
  ret <16 x double> %call
}


declare <16 x double> @_Z8_cl_signDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z4signDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z8_cl_signDv16_d(<16 x double> %a)
  ret <16 x double> %call
}


declare <16 x double> @_Z9_cl_atan2Dv16_dS_(<16 x double>, <16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z5atan2Dv16_dS_(<16 x double> %a, <16 x double> %b) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z9_cl_atan2Dv16_dS_(<16 x double> %a, <16 x double> %b)
  ret <16 x double> %call
}


declare <16 x double> @_Z11_cl_atan2piDv16_dS_(<16 x double>, <16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z7atan2piDv16_dS_(<16 x double> %a, <16 x double> %b) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z11_cl_atan2piDv16_dS_(<16 x double> %a, <16 x double> %b)
  ret <16 x double> %call
}


declare <16 x double> @_Z12_cl_copysignDv16_dS_(<16 x double>, <16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z8copysignDv16_dS_(<16 x double> %a, <16 x double> %b) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z12_cl_copysignDv16_dS_(<16 x double> %a, <16 x double> %b)
  ret <16 x double> %call
}


declare <16 x double> @_Z8_cl_fdimDv16_dS_(<16 x double>, <16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z4fdimDv16_dS_(<16 x double> %a, <16 x double> %b) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z8_cl_fdimDv16_dS_(<16 x double> %a, <16 x double> %b)
  ret <16 x double> %call
}


declare <16 x double> @_Z8_cl_fmaxDv16_dS_(<16 x double>, <16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z4fmaxDv16_dS_(<16 x double> %a, <16 x double> %b) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z8_cl_fmaxDv16_dS_(<16 x double> %a, <16 x double> %b)
  ret <16 x double> %call
}


declare <16 x double> @_Z8_cl_fminDv16_dS_(<16 x double>, <16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z4fminDv16_dS_(<16 x double> %a, <16 x double> %b) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z8_cl_fminDv16_dS_(<16 x double> %a, <16 x double> %b)
  ret <16 x double> %call
}


declare <16 x double> @_Z8_cl_fmodDv16_dS_(<16 x double>, <16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z4fmodDv16_dS_(<16 x double> %a, <16 x double> %b) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z8_cl_fmodDv16_dS_(<16 x double> %a, <16 x double> %b)
  ret <16 x double> %call
}


declare <16 x double> @_Z9_cl_hypotDv16_dS_(<16 x double>, <16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z5hypotDv16_dS_(<16 x double> %a, <16 x double> %b) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z9_cl_hypotDv16_dS_(<16 x double> %a, <16 x double> %b)
  ret <16 x double> %call
}


declare <16 x double> @_Z13_cl_nextafterDv16_dS_(<16 x double>, <16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z9nextafterDv16_dS_(<16 x double> %a, <16 x double> %b) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z13_cl_nextafterDv16_dS_(<16 x double> %a, <16 x double> %b)
  ret <16 x double> %call
}


declare <16 x double> @_Z7_cl_powDv16_dS_(<16 x double>, <16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z3powDv16_dS_(<16 x double> %a, <16 x double> %b) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z7_cl_powDv16_dS_(<16 x double> %a, <16 x double> %b)
  ret <16 x double> %call
}


declare <16 x double> @_Z8_cl_powrDv16_dS_(<16 x double>, <16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z4powrDv16_dS_(<16 x double> %a, <16 x double> %b) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z8_cl_powrDv16_dS_(<16 x double> %a, <16 x double> %b)
  ret <16 x double> %call
}


declare <16 x double> @_Z10_cl_maxmagDv16_dS_(<16 x double>, <16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z6maxmagDv16_dS_(<16 x double> %a, <16 x double> %b) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z10_cl_maxmagDv16_dS_(<16 x double> %a, <16 x double> %b)
  ret <16 x double> %call
}


declare <16 x double> @_Z10_cl_minmagDv16_dS_(<16 x double>, <16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z6minmagDv16_dS_(<16 x double> %a, <16 x double> %b) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z10_cl_minmagDv16_dS_(<16 x double> %a, <16 x double> %b)
  ret <16 x double> %call
}


declare <16 x double> @_Z13_cl_remainderDv16_dS_(<16 x double>, <16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z9remainderDv16_dS_(<16 x double> %a, <16 x double> %b) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z13_cl_remainderDv16_dS_(<16 x double> %a, <16 x double> %b)
  ret <16 x double> %call
}


declare <16 x double> @_Z17_cl_native_divideDv16_dS_(<16 x double>, <16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z13native_divideDv16_dS_(<16 x double> %a, <16 x double> %b) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z17_cl_native_divideDv16_dS_(<16 x double> %a, <16 x double> %b)
  ret <16 x double> %call
}


declare <16 x double> @_Z15_cl_native_powrDv16_dS_(<16 x double>, <16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z11native_powrDv16_dS_(<16 x double> %a, <16 x double> %b) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z15_cl_native_powrDv16_dS_(<16 x double> %a, <16 x double> %b)
  ret <16 x double> %call
}


declare <16 x double> @_Z7_cl_maxDv16_dS_(<16 x double>, <16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z3maxDv16_dS_(<16 x double> %a, <16 x double> %b) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z7_cl_maxDv16_dS_(<16 x double> %a, <16 x double> %b)
  ret <16 x double> %call
}


declare <16 x double> @_Z7_cl_minDv16_dS_(<16 x double>, <16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z3minDv16_dS_(<16 x double> %a, <16 x double> %b) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z7_cl_minDv16_dS_(<16 x double> %a, <16 x double> %b)
  ret <16 x double> %call
}


declare <16 x double> @_Z8_cl_stepDv16_dS_(<16 x double>, <16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z4stepDv16_dS_(<16 x double> %a, <16 x double> %b) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z8_cl_stepDv16_dS_(<16 x double> %a, <16 x double> %b)
  ret <16 x double> %call
}


declare <16 x double> @_Z9_cl_fractDv16_dPU3AS1S_(<16 x double>, <16 x double> addrspace(1)*) local_unnamed_addr #0

define spir_func <16 x double> @_Z5fractDv16_dPU3AS1S_(<16 x double> %a, <16 x double> addrspace(1)* %b) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z9_cl_fractDv16_dPU3AS1S_(<16 x double> %a, <16 x double> addrspace(1)* %b)
  ret <16 x double> %call
}


declare <16 x double> @_Z9_cl_fractDv16_dPU3AS3S_(<16 x double>, <16 x double> addrspace(3)*) local_unnamed_addr #0

define spir_func <16 x double> @_Z5fractDv16_dPU3AS3S_(<16 x double> %a, <16 x double> addrspace(3)* %b) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z9_cl_fractDv16_dPU3AS3S_(<16 x double> %a, <16 x double> addrspace(3)* %b)
  ret <16 x double> %call
}


declare <16 x double> @_Z9_cl_fractDv16_dPS_(<16 x double>, <16 x double> *) local_unnamed_addr #0

define spir_func <16 x double> @_Z5fractDv16_dPS_(<16 x double> %a, <16 x double> * %b) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z9_cl_fractDv16_dPS_(<16 x double> %a, <16 x double> * %b)
  ret <16 x double> %call
}


declare <16 x double> @_Z10_cl_sincosDv16_dPU3AS1S_(<16 x double>, <16 x double> addrspace(1)*) local_unnamed_addr #0

define spir_func <16 x double> @_Z6sincosDv16_dPU3AS1S_(<16 x double> %a, <16 x double> addrspace(1)* %b) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z10_cl_sincosDv16_dPU3AS1S_(<16 x double> %a, <16 x double> addrspace(1)* %b)
  ret <16 x double> %call
}


declare <16 x double> @_Z10_cl_sincosDv16_dPU3AS3S_(<16 x double>, <16 x double> addrspace(3)*) local_unnamed_addr #0

define spir_func <16 x double> @_Z6sincosDv16_dPU3AS3S_(<16 x double> %a, <16 x double> addrspace(3)* %b) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z10_cl_sincosDv16_dPU3AS3S_(<16 x double> %a, <16 x double> addrspace(3)* %b)
  ret <16 x double> %call
}


declare <16 x double> @_Z10_cl_sincosDv16_dPS_(<16 x double>, <16 x double> *) local_unnamed_addr #0

define spir_func <16 x double> @_Z6sincosDv16_dPS_(<16 x double> %a, <16 x double> * %b) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z10_cl_sincosDv16_dPS_(<16 x double> %a, <16 x double> * %b)
  ret <16 x double> %call
}


declare <16 x double> @_Z8_cl_modfDv16_dPU3AS1S_(<16 x double>, <16 x double> addrspace(1)*) local_unnamed_addr #0

define spir_func <16 x double> @_Z4modfDv16_dPU3AS1S_(<16 x double> %a, <16 x double> addrspace(1)* %b) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z8_cl_modfDv16_dPU3AS1S_(<16 x double> %a, <16 x double> addrspace(1)* %b)
  ret <16 x double> %call
}


declare <16 x double> @_Z8_cl_modfDv16_dPU3AS3S_(<16 x double>, <16 x double> addrspace(3)*) local_unnamed_addr #0

define spir_func <16 x double> @_Z4modfDv16_dPU3AS3S_(<16 x double> %a, <16 x double> addrspace(3)* %b) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z8_cl_modfDv16_dPU3AS3S_(<16 x double> %a, <16 x double> addrspace(3)* %b)
  ret <16 x double> %call
}


declare <16 x double> @_Z8_cl_modfDv16_dPS_(<16 x double>, <16 x double> *) local_unnamed_addr #0

define spir_func <16 x double> @_Z4modfDv16_dPS_(<16 x double> %a, <16 x double> * %b) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z8_cl_modfDv16_dPS_(<16 x double> %a, <16 x double> * %b)
  ret <16 x double> %call
}


declare <16 x double> @_Z13_cl_bitselectDv16_dS_S_(<16 x double>, <16 x double>, <16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z9bitselectDv16_dS_S_(<16 x double> %a, <16 x double> %b, <16 x double> %c) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z13_cl_bitselectDv16_dS_S_(<16 x double> %a, <16 x double> %b, <16 x double> %c)
  ret <16 x double> %call
}


declare <16 x double> @_Z9_cl_clampDv16_dS_S_(<16 x double>, <16 x double>, <16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z5clampDv16_dS_S_(<16 x double> %a, <16 x double> %b, <16 x double> %c) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z9_cl_clampDv16_dS_S_(<16 x double> %a, <16 x double> %b, <16 x double> %c)
  ret <16 x double> %call
}


declare <16 x double> @_Z7_cl_fmaDv16_dS_S_(<16 x double>, <16 x double>, <16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z3fmaDv16_dS_S_(<16 x double> %a, <16 x double> %b, <16 x double> %c) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z7_cl_fmaDv16_dS_S_(<16 x double> %a, <16 x double> %b, <16 x double> %c)
  ret <16 x double> %call
}


declare <16 x double> @_Z7_cl_madDv16_dS_S_(<16 x double>, <16 x double>, <16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z3madDv16_dS_S_(<16 x double> %a, <16 x double> %b, <16 x double> %c) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z7_cl_madDv16_dS_S_(<16 x double> %a, <16 x double> %b, <16 x double> %c)
  ret <16 x double> %call
}


declare <16 x double> @_Z7_cl_mixDv16_dS_S_(<16 x double>, <16 x double>, <16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z3mixDv16_dS_S_(<16 x double> %a, <16 x double> %b, <16 x double> %c) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z7_cl_mixDv16_dS_S_(<16 x double> %a, <16 x double> %b, <16 x double> %c)
  ret <16 x double> %call
}


declare <16 x double> @_Z14_cl_smoothstepDv16_dS_S_(<16 x double>, <16 x double>, <16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z10smoothstepDv16_dS_S_(<16 x double> %a, <16 x double> %b, <16 x double> %c) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z14_cl_smoothstepDv16_dS_S_(<16 x double> %a, <16 x double> %b, <16 x double> %c)
  ret <16 x double> %call
}


declare i32 @_Z9_cl_ilogbDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func i32 @_Z5ilogbDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z9_cl_ilogbDv16_d(<16 x double> %a)
  ret i32 %call
}


declare <16 x double> @_Z9_cl_ldexpDv16_dDv16_i(<16 x double>, <16 x i32>) local_unnamed_addr #0

define spir_func <16 x double> @_Z5ldexpDv16_dDv16_i(<16 x double> %a, <16 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z9_cl_ldexpDv16_dDv16_i(<16 x double> %a, <16 x i32> %b)
  ret <16 x double> %call
}


declare <16 x double> @_Z8_cl_pownDv16_dDv16_i(<16 x double>, <16 x i32>) local_unnamed_addr #0

define spir_func <16 x double> @_Z4pownDv16_dDv16_i(<16 x double> %a, <16 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z8_cl_pownDv16_dDv16_i(<16 x double> %a, <16 x i32> %b)
  ret <16 x double> %call
}


declare <16 x double> @_Z9_cl_rootnDv16_dDv16_i(<16 x double>, <16 x i32>) local_unnamed_addr #0

define spir_func <16 x double> @_Z5rootnDv16_dDv16_i(<16 x double> %a, <16 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z9_cl_rootnDv16_dDv16_i(<16 x double> %a, <16 x i32> %b)
  ret <16 x double> %call
}


declare <16 x double> @_Z10_cl_remquoDv16_dS_PU3AS1Dv16_i(<16 x double>, <16 x double>, <16 x i32> addrspace(1)*) local_unnamed_addr #0

define spir_func <16 x double> @_Z6remquoDv16_dS_PU3AS1Dv16_i(<16 x double> %a, <16 x double> %b, <16 x i32> addrspace(1)* %c) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z10_cl_remquoDv16_dS_PU3AS1Dv16_i(<16 x double> %a, <16 x double> %b, <16 x i32> addrspace(1)* %c)
  ret <16 x double> %call
}


declare <16 x double> @_Z10_cl_remquoDv16_dS_PU3AS3Dv16_i(<16 x double>, <16 x double>, <16 x i32> addrspace(3)*) local_unnamed_addr #0

define spir_func <16 x double> @_Z6remquoDv16_dS_PU3AS3Dv16_i(<16 x double> %a, <16 x double> %b, <16 x i32> addrspace(3)* %c) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z10_cl_remquoDv16_dS_PU3AS3Dv16_i(<16 x double> %a, <16 x double> %b, <16 x i32> addrspace(3)* %c)
  ret <16 x double> %call
}


declare <16 x double> @_Z10_cl_remquoDv16_dS_PDv16_i(<16 x double>, <16 x double>, <16 x i32> *) local_unnamed_addr #0

define spir_func <16 x double> @_Z6remquoDv16_dS_PDv16_i(<16 x double> %a, <16 x double> %b, <16 x i32> * %c) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z10_cl_remquoDv16_dS_PDv16_i(<16 x double> %a, <16 x double> %b, <16 x i32> * %c)
  ret <16 x double> %call
}


declare <16 x double> @_Z7_cl_nanDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x double> @_Z3nanDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z7_cl_nanDv16_m(<16 x i64> %a)
  ret <16 x double> %call
}


declare <16 x double> @_Z12_cl_lgamma_rDv16_dPU3AS1Dv16_i(<16 x double>, <16 x i32> addrspace(1)*) local_unnamed_addr #0

define spir_func <16 x double> @_Z8lgamma_rDv16_dPU3AS1Dv16_i(<16 x double> %a, <16 x i32> addrspace(1)* %b) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z12_cl_lgamma_rDv16_dPU3AS1Dv16_i(<16 x double> %a, <16 x i32> addrspace(1)* %b)
  ret <16 x double> %call
}


declare <16 x double> @_Z12_cl_lgamma_rDv16_dPU3AS3Dv16_i(<16 x double>, <16 x i32> addrspace(3)*) local_unnamed_addr #0

define spir_func <16 x double> @_Z8lgamma_rDv16_dPU3AS3Dv16_i(<16 x double> %a, <16 x i32> addrspace(3)* %b) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z12_cl_lgamma_rDv16_dPU3AS3Dv16_i(<16 x double> %a, <16 x i32> addrspace(3)* %b)
  ret <16 x double> %call
}


declare <16 x double> @_Z12_cl_lgamma_rDv16_dPDv16_i(<16 x double>, <16 x i32> *) local_unnamed_addr #0

define spir_func <16 x double> @_Z8lgamma_rDv16_dPDv16_i(<16 x double> %a, <16 x i32> * %b) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z12_cl_lgamma_rDv16_dPDv16_i(<16 x double> %a, <16 x i32> * %b)
  ret <16 x double> %call
}


declare <16 x double> @_Z9_cl_frexpDv16_dPU3AS1Dv16_i(<16 x double>, <16 x i32> addrspace(1)*) local_unnamed_addr #0

define spir_func <16 x double> @_Z5frexpDv16_dPU3AS1Dv16_i(<16 x double> %a, <16 x i32> addrspace(1)* %b) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z9_cl_frexpDv16_dPU3AS1Dv16_i(<16 x double> %a, <16 x i32> addrspace(1)* %b)
  ret <16 x double> %call
}


declare <16 x double> @_Z9_cl_frexpDv16_dPU3AS3Dv16_i(<16 x double>, <16 x i32> addrspace(3)*) local_unnamed_addr #0

define spir_func <16 x double> @_Z5frexpDv16_dPU3AS3Dv16_i(<16 x double> %a, <16 x i32> addrspace(3)* %b) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z9_cl_frexpDv16_dPU3AS3Dv16_i(<16 x double> %a, <16 x i32> addrspace(3)* %b)
  ret <16 x double> %call
}


declare <16 x double> @_Z9_cl_frexpDv16_dPDv16_i(<16 x double>, <16 x i32> *) local_unnamed_addr #0

define spir_func <16 x double> @_Z5frexpDv16_dPDv16_i(<16 x double> %a, <16 x i32> * %b) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z9_cl_frexpDv16_dPDv16_i(<16 x double> %a, <16 x i32> * %b)
  ret <16 x double> %call
}


declare <16 x double> @_Z10_cl_selectDv16_dS_Dv16_l(<16 x double>, <16 x double>, <16 x i64>) local_unnamed_addr #0

define spir_func <16 x double> @_Z6selectDv16_dS_Dv16_l(<16 x double> %a, <16 x double> %b, <16 x i64> %c) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z10_cl_selectDv16_dS_Dv16_l(<16 x double> %a, <16 x double> %b, <16 x i64> %c)
  ret <16 x double> %call
}


declare <16 x double> @_Z10_cl_selectDv16_dS_Dv16_m(<16 x double>, <16 x double>, <16 x i64>) local_unnamed_addr #0

define spir_func <16 x double> @_Z6selectDv16_dS_Dv16_m(<16 x double> %a, <16 x double> %b, <16 x i64> %c) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z10_cl_selectDv16_dS_Dv16_m(<16 x double> %a, <16 x double> %b, <16 x i64> %c)
  ret <16 x double> %call
}


declare <16 x i64> @_Z11_cl_signbitDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z7signbitDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z11_cl_signbitDv16_d(<16 x double> %a)
  ret <16 x i64> %call
}


declare <16 x i64> @_Z11_cl_isequalDv16_dS_(<16 x double>, <16 x double>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z7isequalDv16_dS_(<16 x double> %a, <16 x double> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z11_cl_isequalDv16_dS_(<16 x double> %a, <16 x double> %b)
  ret <16 x i64> %call
}


declare <16 x i64> @_Z14_cl_isnotequalDv16_dS_(<16 x double>, <16 x double>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z10isnotequalDv16_dS_(<16 x double> %a, <16 x double> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z14_cl_isnotequalDv16_dS_(<16 x double> %a, <16 x double> %b)
  ret <16 x i64> %call
}


declare <16 x i64> @_Z13_cl_isgreaterDv16_dS_(<16 x double>, <16 x double>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z9isgreaterDv16_dS_(<16 x double> %a, <16 x double> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z13_cl_isgreaterDv16_dS_(<16 x double> %a, <16 x double> %b)
  ret <16 x i64> %call
}


declare <16 x i64> @_Z18_cl_isgreaterequalDv16_dS_(<16 x double>, <16 x double>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z14isgreaterequalDv16_dS_(<16 x double> %a, <16 x double> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z18_cl_isgreaterequalDv16_dS_(<16 x double> %a, <16 x double> %b)
  ret <16 x i64> %call
}


declare <16 x i64> @_Z10_cl_islessDv16_dS_(<16 x double>, <16 x double>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z6islessDv16_dS_(<16 x double> %a, <16 x double> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z10_cl_islessDv16_dS_(<16 x double> %a, <16 x double> %b)
  ret <16 x i64> %call
}


declare <16 x i64> @_Z15_cl_islessequalDv16_dS_(<16 x double>, <16 x double>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z11islessequalDv16_dS_(<16 x double> %a, <16 x double> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z15_cl_islessequalDv16_dS_(<16 x double> %a, <16 x double> %b)
  ret <16 x i64> %call
}


declare <16 x i64> @_Z17_cl_islessgreaterDv16_dS_(<16 x double>, <16 x double>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z13islessgreaterDv16_dS_(<16 x double> %a, <16 x double> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z17_cl_islessgreaterDv16_dS_(<16 x double> %a, <16 x double> %b)
  ret <16 x i64> %call
}


declare <16 x i64> @_Z12_cl_isfiniteDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z8isfiniteDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z12_cl_isfiniteDv16_d(<16 x double> %a)
  ret <16 x i64> %call
}


declare <16 x i64> @_Z9_cl_isinfDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z5isinfDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z9_cl_isinfDv16_d(<16 x double> %a)
  ret <16 x i64> %call
}


declare <16 x i64> @_Z9_cl_isnanDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z5isnanDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z9_cl_isnanDv16_d(<16 x double> %a)
  ret <16 x i64> %call
}


declare <16 x i64> @_Z12_cl_isnormalDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z8isnormalDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z12_cl_isnormalDv16_d(<16 x double> %a)
  ret <16 x i64> %call
}


declare <16 x i64> @_Z13_cl_isorderedDv16_dS_(<16 x double>, <16 x double>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z9isorderedDv16_dS_(<16 x double> %a, <16 x double> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z13_cl_isorderedDv16_dS_(<16 x double> %a, <16 x double> %b)
  ret <16 x i64> %call
}


declare <16 x i64> @_Z15_cl_isunorderedDv16_dS_(<16 x double>, <16 x double>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z11isunorderedDv16_dS_(<16 x double> %a, <16 x double> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z15_cl_isunorderedDv16_dS_(<16 x double> %a, <16 x double> %b)
  ret <16 x i64> %call
}


declare <4 x float> @_Z9_cl_crossDv4_fS_(<4 x float>, <4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z5crossDv4_fS_(<4 x float> %a, <4 x float> %b) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z9_cl_crossDv4_fS_(<4 x float> %a, <4 x float> %b)
  ret <4 x float> %call
}


declare <4 x double> @_Z9_cl_crossDv4_dS_(<4 x double>, <4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z5crossDv4_dS_(<4 x double> %a, <4 x double> %b) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z9_cl_crossDv4_dS_(<4 x double> %a, <4 x double> %b)
  ret <4 x double> %call
}


declare <3 x float> @_Z9_cl_crossDv3_fS_(<3 x float>, <3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z5crossDv3_fS_(<3 x float> %a, <3 x float> %b) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z9_cl_crossDv3_fS_(<3 x float> %a, <3 x float> %b)
  ret <3 x float> %call
}


declare <3 x double> @_Z9_cl_crossDv3_dS_(<3 x double>, <3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z5crossDv3_dS_(<3 x double> %a, <3 x double> %b) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z9_cl_crossDv3_dS_(<3 x double> %a, <3 x double> %b)
  ret <3 x double> %call
}


declare float @_Z7_cl_dotDv2_fS_(<2 x float>, <2 x float>) local_unnamed_addr #0

define spir_func float @_Z3dotDv2_fS_(<2 x float> %a, <2 x float> %b) local_unnamed_addr #0 {
  %call = tail call float @_Z7_cl_dotDv2_fS_(<2 x float> %a, <2 x float> %b)
  ret float %call
}


declare double @_Z7_cl_dotDv2_dS_(<2 x double>, <2 x double>) local_unnamed_addr #0

define spir_func double @_Z3dotDv2_dS_(<2 x double> %a, <2 x double> %b) local_unnamed_addr #0 {
  %call = tail call double @_Z7_cl_dotDv2_dS_(<2 x double> %a, <2 x double> %b)
  ret double %call
}


declare float @_Z12_cl_distanceDv2_fS_(<2 x float>, <2 x float>) local_unnamed_addr #0

define spir_func float @_Z8distanceDv2_fS_(<2 x float> %a, <2 x float> %b) local_unnamed_addr #0 {
  %call = tail call float @_Z12_cl_distanceDv2_fS_(<2 x float> %a, <2 x float> %b)
  ret float %call
}


declare double @_Z12_cl_distanceDv2_dS_(<2 x double>, <2 x double>) local_unnamed_addr #0

define spir_func double @_Z8distanceDv2_dS_(<2 x double> %a, <2 x double> %b) local_unnamed_addr #0 {
  %call = tail call double @_Z12_cl_distanceDv2_dS_(<2 x double> %a, <2 x double> %b)
  ret double %call
}


declare float @_Z10_cl_lengthDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func float @_Z6lengthDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call float @_Z10_cl_lengthDv2_f(<2 x float> %a)
  ret float %call
}


declare double @_Z10_cl_lengthDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func double @_Z6lengthDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call double @_Z10_cl_lengthDv2_d(<2 x double> %a)
  ret double %call
}


declare float @_Z13_cl_normalizeDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func float @_Z9normalizeDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call float @_Z13_cl_normalizeDv2_f(<2 x float> %a)
  ret float %call
}


declare double @_Z13_cl_normalizeDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func double @_Z9normalizeDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call double @_Z13_cl_normalizeDv2_d(<2 x double> %a)
  ret double %call
}


declare float @_Z17_cl_fast_distanceDv2_fS_(<2 x float>, <2 x float>) local_unnamed_addr #0

define spir_func float @_Z13fast_distanceDv2_fS_(<2 x float> %a, <2 x float> %b) local_unnamed_addr #0 {
  %call = tail call float @_Z17_cl_fast_distanceDv2_fS_(<2 x float> %a, <2 x float> %b)
  ret float %call
}


declare double @_Z17_cl_fast_distanceDv2_dS_(<2 x double>, <2 x double>) local_unnamed_addr #0

define spir_func double @_Z13fast_distanceDv2_dS_(<2 x double> %a, <2 x double> %b) local_unnamed_addr #0 {
  %call = tail call double @_Z17_cl_fast_distanceDv2_dS_(<2 x double> %a, <2 x double> %b)
  ret double %call
}


declare float @_Z15_cl_fast_lengthDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func float @_Z11fast_lengthDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call float @_Z15_cl_fast_lengthDv2_f(<2 x float> %a)
  ret float %call
}


declare double @_Z15_cl_fast_lengthDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func double @_Z11fast_lengthDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call double @_Z15_cl_fast_lengthDv2_d(<2 x double> %a)
  ret double %call
}


declare float @_Z18_cl_fast_normalizeDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func float @_Z14fast_normalizeDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call float @_Z18_cl_fast_normalizeDv2_f(<2 x float> %a)
  ret float %call
}


declare double @_Z18_cl_fast_normalizeDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func double @_Z14fast_normalizeDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call double @_Z18_cl_fast_normalizeDv2_d(<2 x double> %a)
  ret double %call
}


declare float @_Z7_cl_dotDv3_fS_(<3 x float>, <3 x float>) local_unnamed_addr #0

define spir_func float @_Z3dotDv3_fS_(<3 x float> %a, <3 x float> %b) local_unnamed_addr #0 {
  %call = tail call float @_Z7_cl_dotDv3_fS_(<3 x float> %a, <3 x float> %b)
  ret float %call
}


declare double @_Z7_cl_dotDv3_dS_(<3 x double>, <3 x double>) local_unnamed_addr #0

define spir_func double @_Z3dotDv3_dS_(<3 x double> %a, <3 x double> %b) local_unnamed_addr #0 {
  %call = tail call double @_Z7_cl_dotDv3_dS_(<3 x double> %a, <3 x double> %b)
  ret double %call
}


declare float @_Z12_cl_distanceDv3_fS_(<3 x float>, <3 x float>) local_unnamed_addr #0

define spir_func float @_Z8distanceDv3_fS_(<3 x float> %a, <3 x float> %b) local_unnamed_addr #0 {
  %call = tail call float @_Z12_cl_distanceDv3_fS_(<3 x float> %a, <3 x float> %b)
  ret float %call
}


declare double @_Z12_cl_distanceDv3_dS_(<3 x double>, <3 x double>) local_unnamed_addr #0

define spir_func double @_Z8distanceDv3_dS_(<3 x double> %a, <3 x double> %b) local_unnamed_addr #0 {
  %call = tail call double @_Z12_cl_distanceDv3_dS_(<3 x double> %a, <3 x double> %b)
  ret double %call
}


declare float @_Z10_cl_lengthDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func float @_Z6lengthDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call float @_Z10_cl_lengthDv3_f(<3 x float> %a)
  ret float %call
}


declare double @_Z10_cl_lengthDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func double @_Z6lengthDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call double @_Z10_cl_lengthDv3_d(<3 x double> %a)
  ret double %call
}


declare float @_Z13_cl_normalizeDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func float @_Z9normalizeDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call float @_Z13_cl_normalizeDv3_f(<3 x float> %a)
  ret float %call
}


declare double @_Z13_cl_normalizeDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func double @_Z9normalizeDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call double @_Z13_cl_normalizeDv3_d(<3 x double> %a)
  ret double %call
}


declare float @_Z17_cl_fast_distanceDv3_fS_(<3 x float>, <3 x float>) local_unnamed_addr #0

define spir_func float @_Z13fast_distanceDv3_fS_(<3 x float> %a, <3 x float> %b) local_unnamed_addr #0 {
  %call = tail call float @_Z17_cl_fast_distanceDv3_fS_(<3 x float> %a, <3 x float> %b)
  ret float %call
}


declare double @_Z17_cl_fast_distanceDv3_dS_(<3 x double>, <3 x double>) local_unnamed_addr #0

define spir_func double @_Z13fast_distanceDv3_dS_(<3 x double> %a, <3 x double> %b) local_unnamed_addr #0 {
  %call = tail call double @_Z17_cl_fast_distanceDv3_dS_(<3 x double> %a, <3 x double> %b)
  ret double %call
}


declare float @_Z15_cl_fast_lengthDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func float @_Z11fast_lengthDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call float @_Z15_cl_fast_lengthDv3_f(<3 x float> %a)
  ret float %call
}


declare double @_Z15_cl_fast_lengthDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func double @_Z11fast_lengthDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call double @_Z15_cl_fast_lengthDv3_d(<3 x double> %a)
  ret double %call
}


declare float @_Z18_cl_fast_normalizeDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func float @_Z14fast_normalizeDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call float @_Z18_cl_fast_normalizeDv3_f(<3 x float> %a)
  ret float %call
}


declare double @_Z18_cl_fast_normalizeDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func double @_Z14fast_normalizeDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call double @_Z18_cl_fast_normalizeDv3_d(<3 x double> %a)
  ret double %call
}


declare float @_Z7_cl_dotDv4_fS_(<4 x float>, <4 x float>) local_unnamed_addr #0

define spir_func float @_Z3dotDv4_fS_(<4 x float> %a, <4 x float> %b) local_unnamed_addr #0 {
  %call = tail call float @_Z7_cl_dotDv4_fS_(<4 x float> %a, <4 x float> %b)
  ret float %call
}


declare double @_Z7_cl_dotDv4_dS_(<4 x double>, <4 x double>) local_unnamed_addr #0

define spir_func double @_Z3dotDv4_dS_(<4 x double> %a, <4 x double> %b) local_unnamed_addr #0 {
  %call = tail call double @_Z7_cl_dotDv4_dS_(<4 x double> %a, <4 x double> %b)
  ret double %call
}


declare float @_Z12_cl_distanceDv4_fS_(<4 x float>, <4 x float>) local_unnamed_addr #0

define spir_func float @_Z8distanceDv4_fS_(<4 x float> %a, <4 x float> %b) local_unnamed_addr #0 {
  %call = tail call float @_Z12_cl_distanceDv4_fS_(<4 x float> %a, <4 x float> %b)
  ret float %call
}


declare double @_Z12_cl_distanceDv4_dS_(<4 x double>, <4 x double>) local_unnamed_addr #0

define spir_func double @_Z8distanceDv4_dS_(<4 x double> %a, <4 x double> %b) local_unnamed_addr #0 {
  %call = tail call double @_Z12_cl_distanceDv4_dS_(<4 x double> %a, <4 x double> %b)
  ret double %call
}


declare float @_Z10_cl_lengthDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func float @_Z6lengthDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call float @_Z10_cl_lengthDv4_f(<4 x float> %a)
  ret float %call
}


declare double @_Z10_cl_lengthDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func double @_Z6lengthDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call double @_Z10_cl_lengthDv4_d(<4 x double> %a)
  ret double %call
}


declare float @_Z13_cl_normalizeDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func float @_Z9normalizeDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call float @_Z13_cl_normalizeDv4_f(<4 x float> %a)
  ret float %call
}


declare double @_Z13_cl_normalizeDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func double @_Z9normalizeDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call double @_Z13_cl_normalizeDv4_d(<4 x double> %a)
  ret double %call
}


declare float @_Z17_cl_fast_distanceDv4_fS_(<4 x float>, <4 x float>) local_unnamed_addr #0

define spir_func float @_Z13fast_distanceDv4_fS_(<4 x float> %a, <4 x float> %b) local_unnamed_addr #0 {
  %call = tail call float @_Z17_cl_fast_distanceDv4_fS_(<4 x float> %a, <4 x float> %b)
  ret float %call
}


declare double @_Z17_cl_fast_distanceDv4_dS_(<4 x double>, <4 x double>) local_unnamed_addr #0

define spir_func double @_Z13fast_distanceDv4_dS_(<4 x double> %a, <4 x double> %b) local_unnamed_addr #0 {
  %call = tail call double @_Z17_cl_fast_distanceDv4_dS_(<4 x double> %a, <4 x double> %b)
  ret double %call
}


declare float @_Z15_cl_fast_lengthDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func float @_Z11fast_lengthDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call float @_Z15_cl_fast_lengthDv4_f(<4 x float> %a)
  ret float %call
}


declare double @_Z15_cl_fast_lengthDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func double @_Z11fast_lengthDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call double @_Z15_cl_fast_lengthDv4_d(<4 x double> %a)
  ret double %call
}


declare float @_Z18_cl_fast_normalizeDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func float @_Z14fast_normalizeDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call float @_Z18_cl_fast_normalizeDv4_f(<4 x float> %a)
  ret float %call
}


declare double @_Z18_cl_fast_normalizeDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func double @_Z14fast_normalizeDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call double @_Z18_cl_fast_normalizeDv4_d(<4 x double> %a)
  ret double %call
}


declare float @_Z7_cl_dotDv8_fS_(<8 x float>, <8 x float>) local_unnamed_addr #0

define spir_func float @_Z3dotDv8_fS_(<8 x float> %a, <8 x float> %b) local_unnamed_addr #0 {
  %call = tail call float @_Z7_cl_dotDv8_fS_(<8 x float> %a, <8 x float> %b)
  ret float %call
}


declare double @_Z7_cl_dotDv8_dS_(<8 x double>, <8 x double>) local_unnamed_addr #0

define spir_func double @_Z3dotDv8_dS_(<8 x double> %a, <8 x double> %b) local_unnamed_addr #0 {
  %call = tail call double @_Z7_cl_dotDv8_dS_(<8 x double> %a, <8 x double> %b)
  ret double %call
}


declare float @_Z12_cl_distanceDv8_fS_(<8 x float>, <8 x float>) local_unnamed_addr #0

define spir_func float @_Z8distanceDv8_fS_(<8 x float> %a, <8 x float> %b) local_unnamed_addr #0 {
  %call = tail call float @_Z12_cl_distanceDv8_fS_(<8 x float> %a, <8 x float> %b)
  ret float %call
}


declare double @_Z12_cl_distanceDv8_dS_(<8 x double>, <8 x double>) local_unnamed_addr #0

define spir_func double @_Z8distanceDv8_dS_(<8 x double> %a, <8 x double> %b) local_unnamed_addr #0 {
  %call = tail call double @_Z12_cl_distanceDv8_dS_(<8 x double> %a, <8 x double> %b)
  ret double %call
}


declare float @_Z10_cl_lengthDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func float @_Z6lengthDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call float @_Z10_cl_lengthDv8_f(<8 x float> %a)
  ret float %call
}


declare double @_Z10_cl_lengthDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func double @_Z6lengthDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call double @_Z10_cl_lengthDv8_d(<8 x double> %a)
  ret double %call
}


declare float @_Z13_cl_normalizeDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func float @_Z9normalizeDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call float @_Z13_cl_normalizeDv8_f(<8 x float> %a)
  ret float %call
}


declare double @_Z13_cl_normalizeDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func double @_Z9normalizeDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call double @_Z13_cl_normalizeDv8_d(<8 x double> %a)
  ret double %call
}


declare float @_Z17_cl_fast_distanceDv8_fS_(<8 x float>, <8 x float>) local_unnamed_addr #0

define spir_func float @_Z13fast_distanceDv8_fS_(<8 x float> %a, <8 x float> %b) local_unnamed_addr #0 {
  %call = tail call float @_Z17_cl_fast_distanceDv8_fS_(<8 x float> %a, <8 x float> %b)
  ret float %call
}


declare double @_Z17_cl_fast_distanceDv8_dS_(<8 x double>, <8 x double>) local_unnamed_addr #0

define spir_func double @_Z13fast_distanceDv8_dS_(<8 x double> %a, <8 x double> %b) local_unnamed_addr #0 {
  %call = tail call double @_Z17_cl_fast_distanceDv8_dS_(<8 x double> %a, <8 x double> %b)
  ret double %call
}


declare float @_Z15_cl_fast_lengthDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func float @_Z11fast_lengthDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call float @_Z15_cl_fast_lengthDv8_f(<8 x float> %a)
  ret float %call
}


declare double @_Z15_cl_fast_lengthDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func double @_Z11fast_lengthDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call double @_Z15_cl_fast_lengthDv8_d(<8 x double> %a)
  ret double %call
}


declare float @_Z18_cl_fast_normalizeDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func float @_Z14fast_normalizeDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call float @_Z18_cl_fast_normalizeDv8_f(<8 x float> %a)
  ret float %call
}


declare double @_Z18_cl_fast_normalizeDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func double @_Z14fast_normalizeDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call double @_Z18_cl_fast_normalizeDv8_d(<8 x double> %a)
  ret double %call
}


declare float @_Z7_cl_dotDv16_fS_(<16 x float>, <16 x float>) local_unnamed_addr #0

define spir_func float @_Z3dotDv16_fS_(<16 x float> %a, <16 x float> %b) local_unnamed_addr #0 {
  %call = tail call float @_Z7_cl_dotDv16_fS_(<16 x float> %a, <16 x float> %b)
  ret float %call
}


declare double @_Z7_cl_dotDv16_dS_(<16 x double>, <16 x double>) local_unnamed_addr #0

define spir_func double @_Z3dotDv16_dS_(<16 x double> %a, <16 x double> %b) local_unnamed_addr #0 {
  %call = tail call double @_Z7_cl_dotDv16_dS_(<16 x double> %a, <16 x double> %b)
  ret double %call
}


declare float @_Z12_cl_distanceDv16_fS_(<16 x float>, <16 x float>) local_unnamed_addr #0

define spir_func float @_Z8distanceDv16_fS_(<16 x float> %a, <16 x float> %b) local_unnamed_addr #0 {
  %call = tail call float @_Z12_cl_distanceDv16_fS_(<16 x float> %a, <16 x float> %b)
  ret float %call
}


declare double @_Z12_cl_distanceDv16_dS_(<16 x double>, <16 x double>) local_unnamed_addr #0

define spir_func double @_Z8distanceDv16_dS_(<16 x double> %a, <16 x double> %b) local_unnamed_addr #0 {
  %call = tail call double @_Z12_cl_distanceDv16_dS_(<16 x double> %a, <16 x double> %b)
  ret double %call
}


declare float @_Z10_cl_lengthDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func float @_Z6lengthDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call float @_Z10_cl_lengthDv16_f(<16 x float> %a)
  ret float %call
}


declare double @_Z10_cl_lengthDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func double @_Z6lengthDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call double @_Z10_cl_lengthDv16_d(<16 x double> %a)
  ret double %call
}


declare float @_Z13_cl_normalizeDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func float @_Z9normalizeDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call float @_Z13_cl_normalizeDv16_f(<16 x float> %a)
  ret float %call
}


declare double @_Z13_cl_normalizeDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func double @_Z9normalizeDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call double @_Z13_cl_normalizeDv16_d(<16 x double> %a)
  ret double %call
}


declare float @_Z17_cl_fast_distanceDv16_fS_(<16 x float>, <16 x float>) local_unnamed_addr #0

define spir_func float @_Z13fast_distanceDv16_fS_(<16 x float> %a, <16 x float> %b) local_unnamed_addr #0 {
  %call = tail call float @_Z17_cl_fast_distanceDv16_fS_(<16 x float> %a, <16 x float> %b)
  ret float %call
}


declare double @_Z17_cl_fast_distanceDv16_dS_(<16 x double>, <16 x double>) local_unnamed_addr #0

define spir_func double @_Z13fast_distanceDv16_dS_(<16 x double> %a, <16 x double> %b) local_unnamed_addr #0 {
  %call = tail call double @_Z17_cl_fast_distanceDv16_dS_(<16 x double> %a, <16 x double> %b)
  ret double %call
}


declare float @_Z15_cl_fast_lengthDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func float @_Z11fast_lengthDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call float @_Z15_cl_fast_lengthDv16_f(<16 x float> %a)
  ret float %call
}


declare double @_Z15_cl_fast_lengthDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func double @_Z11fast_lengthDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call double @_Z15_cl_fast_lengthDv16_d(<16 x double> %a)
  ret double %call
}


declare float @_Z18_cl_fast_normalizeDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func float @_Z14fast_normalizeDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call float @_Z18_cl_fast_normalizeDv16_f(<16 x float> %a)
  ret float %call
}


declare double @_Z18_cl_fast_normalizeDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func double @_Z14fast_normalizeDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call double @_Z18_cl_fast_normalizeDv16_d(<16 x double> %a)
  ret double %call
}


declare i16 @_Z12_cl_upsamplech(i8, i8) local_unnamed_addr #0

define spir_func i16 @_Z8upsamplech(i8 %a, i8 %b) local_unnamed_addr #0 {
  %call = tail call i16 @_Z12_cl_upsamplech(i8 %a, i8 %b)
  ret i16 %call
}


declare i16 @_Z12_cl_upsamplehh(i8, i8) local_unnamed_addr #0

define spir_func i16 @_Z8upsamplehh(i8 %a, i8 %b) local_unnamed_addr #0 {
  %call = tail call i16 @_Z12_cl_upsamplehh(i8 %a, i8 %b)
  ret i16 %call
}


declare i32 @_Z12_cl_upsamplest(i16, i16) local_unnamed_addr #0

define spir_func i32 @_Z8upsamplest(i16 %a, i16 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z12_cl_upsamplest(i16 %a, i16 %b)
  ret i32 %call
}


declare i32 @_Z12_cl_upsamplett(i16, i16) local_unnamed_addr #0

define spir_func i32 @_Z8upsamplett(i16 %a, i16 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z12_cl_upsamplett(i16 %a, i16 %b)
  ret i32 %call
}


declare i64 @_Z12_cl_upsampleij(i32, i32) local_unnamed_addr #0

define spir_func i64 @_Z8upsampleij(i32 %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z12_cl_upsampleij(i32 %a, i32 %b)
  ret i64 %call
}


declare i64 @_Z12_cl_upsamplejj(i32, i32) local_unnamed_addr #0

define spir_func i64 @_Z8upsamplejj(i32 %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z12_cl_upsamplejj(i32 %a, i32 %b)
  ret i64 %call
}


declare i8 @_Z7_cl_absc(i8) local_unnamed_addr #0

define spir_func  signext i8 @_Z3absc(i8 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z7_cl_absc(i8 %a)
  ret i8 %call
}


declare i8 @_Z7_cl_clzc(i8) local_unnamed_addr #0

define spir_func  signext i8 @_Z3clzc(i8 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z7_cl_clzc(i8 %a)
  ret i8 %call
}


declare i8 @_Z12_cl_popcountc(i8) local_unnamed_addr #0

define spir_func  signext i8 @_Z8popcountc(i8 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z12_cl_popcountc(i8 %a)
  ret i8 %call
}


declare i8 @_Z12_cl_abs_diffcc(i8, i8) local_unnamed_addr #0

define spir_func  signext i8 @_Z8abs_diffcc(i8 %a, i8 %b) local_unnamed_addr #0 {
  %call = tail call i8 @_Z12_cl_abs_diffcc(i8 %a, i8 %b)
  ret i8 %call
}


declare i8 @_Z11_cl_add_satcc(i8, i8) local_unnamed_addr #0

define spir_func  signext i8 @_Z7add_satcc(i8 %a, i8 %b) local_unnamed_addr #0 {
  %call = tail call i8 @_Z11_cl_add_satcc(i8 %a, i8 %b)
  ret i8 %call
}


declare i8 @_Z8_cl_haddcc(i8, i8) local_unnamed_addr #0

define spir_func  signext i8 @_Z4haddcc(i8 %a, i8 %b) local_unnamed_addr #0 {
  %call = tail call i8 @_Z8_cl_haddcc(i8 %a, i8 %b)
  ret i8 %call
}


declare i8 @_Z7_cl_maxcc(i8, i8) local_unnamed_addr #0

define spir_func  signext i8 @_Z3maxcc(i8 %a, i8 %b) local_unnamed_addr #0 {
  %call = tail call i8 @_Z7_cl_maxcc(i8 %a, i8 %b)
  ret i8 %call
}


declare i8 @_Z7_cl_mincc(i8, i8) local_unnamed_addr #0

define spir_func  signext i8 @_Z3mincc(i8 %a, i8 %b) local_unnamed_addr #0 {
  %call = tail call i8 @_Z7_cl_mincc(i8 %a, i8 %b)
  ret i8 %call
}


declare i8 @_Z10_cl_mul_hicc(i8, i8) local_unnamed_addr #0

define spir_func  signext i8 @_Z6mul_hicc(i8 %a, i8 %b) local_unnamed_addr #0 {
  %call = tail call i8 @_Z10_cl_mul_hicc(i8 %a, i8 %b)
  ret i8 %call
}


declare i8 @_Z9_cl_rhaddcc(i8, i8) local_unnamed_addr #0

define spir_func  signext i8 @_Z5rhaddcc(i8 %a, i8 %b) local_unnamed_addr #0 {
  %call = tail call i8 @_Z9_cl_rhaddcc(i8 %a, i8 %b)
  ret i8 %call
}


declare i8 @_Z10_cl_rotatecc(i8, i8) local_unnamed_addr #0

define spir_func  signext i8 @_Z6rotatecc(i8 %a, i8 %b) local_unnamed_addr #0 {
  %call = tail call i8 @_Z10_cl_rotatecc(i8 %a, i8 %b)
  ret i8 %call
}


declare i8 @_Z11_cl_sub_satcc(i8, i8) local_unnamed_addr #0

define spir_func  signext i8 @_Z7sub_satcc(i8 %a, i8 %b) local_unnamed_addr #0 {
  %call = tail call i8 @_Z11_cl_sub_satcc(i8 %a, i8 %b)
  ret i8 %call
}


declare i8 @_Z13_cl_bitselectccc(i8, i8, i8) local_unnamed_addr #0

define spir_func  signext i8 @_Z9bitselectccc(i8 %a, i8 %b, i8 %c) local_unnamed_addr #0 {
  %call = tail call i8 @_Z13_cl_bitselectccc(i8 %a, i8 %b, i8 %c)
  ret i8 %call
}


declare i8 @_Z9_cl_clampccc(i8, i8, i8) local_unnamed_addr #0

define spir_func  signext i8 @_Z5clampccc(i8 %a, i8 %b, i8 %c) local_unnamed_addr #0 {
  %call = tail call i8 @_Z9_cl_clampccc(i8 %a, i8 %b, i8 %c)
  ret i8 %call
}


declare i8 @_Z10_cl_mad_hiccc(i8, i8, i8) local_unnamed_addr #0

define spir_func  signext i8 @_Z6mad_hiccc(i8 %a, i8 %b, i8 %c) local_unnamed_addr #0 {
  %call = tail call i8 @_Z10_cl_mad_hiccc(i8 %a, i8 %b, i8 %c)
  ret i8 %call
}


declare i8 @_Z11_cl_mad_satccc(i8, i8, i8) local_unnamed_addr #0

define spir_func  signext i8 @_Z7mad_satccc(i8 %a, i8 %b, i8 %c) local_unnamed_addr #0 {
  %call = tail call i8 @_Z11_cl_mad_satccc(i8 %a, i8 %b, i8 %c)
  ret i8 %call
}


declare i32 @_Z7_cl_anyc(i8) local_unnamed_addr #0

define spir_func i32 @_Z3anyc(i8 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_anyc(i8 %a)
  ret i32 %call
}


declare i32 @_Z7_cl_allc(i8) local_unnamed_addr #0

define spir_func i32 @_Z3allc(i8 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_allc(i8 %a)
  ret i32 %call
}


declare <2 x i8> @_Z7_cl_absDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z3absDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z7_cl_absDv2_c(<2 x i8> %a)
  ret <2 x i8> %call
}


declare <2 x i8> @_Z7_cl_clzDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z3clzDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z7_cl_clzDv2_c(<2 x i8> %a)
  ret <2 x i8> %call
}


declare <2 x i8> @_Z12_cl_popcountDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z8popcountDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z12_cl_popcountDv2_c(<2 x i8> %a)
  ret <2 x i8> %call
}


declare <2 x i8> @_Z12_cl_abs_diffDv2_cS_(<2 x i8>, <2 x i8>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z8abs_diffDv2_cS_(<2 x i8> %a, <2 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z12_cl_abs_diffDv2_cS_(<2 x i8> %a, <2 x i8> %b)
  ret <2 x i8> %call
}


declare <2 x i8> @_Z11_cl_add_satDv2_cS_(<2 x i8>, <2 x i8>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z7add_satDv2_cS_(<2 x i8> %a, <2 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z11_cl_add_satDv2_cS_(<2 x i8> %a, <2 x i8> %b)
  ret <2 x i8> %call
}


declare <2 x i8> @_Z8_cl_haddDv2_cS_(<2 x i8>, <2 x i8>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z4haddDv2_cS_(<2 x i8> %a, <2 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z8_cl_haddDv2_cS_(<2 x i8> %a, <2 x i8> %b)
  ret <2 x i8> %call
}


declare <2 x i8> @_Z7_cl_maxDv2_cS_(<2 x i8>, <2 x i8>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z3maxDv2_cS_(<2 x i8> %a, <2 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z7_cl_maxDv2_cS_(<2 x i8> %a, <2 x i8> %b)
  ret <2 x i8> %call
}


declare <2 x i8> @_Z7_cl_minDv2_cS_(<2 x i8>, <2 x i8>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z3minDv2_cS_(<2 x i8> %a, <2 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z7_cl_minDv2_cS_(<2 x i8> %a, <2 x i8> %b)
  ret <2 x i8> %call
}


declare <2 x i8> @_Z10_cl_mul_hiDv2_cS_(<2 x i8>, <2 x i8>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z6mul_hiDv2_cS_(<2 x i8> %a, <2 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z10_cl_mul_hiDv2_cS_(<2 x i8> %a, <2 x i8> %b)
  ret <2 x i8> %call
}


declare <2 x i8> @_Z9_cl_rhaddDv2_cS_(<2 x i8>, <2 x i8>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z5rhaddDv2_cS_(<2 x i8> %a, <2 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z9_cl_rhaddDv2_cS_(<2 x i8> %a, <2 x i8> %b)
  ret <2 x i8> %call
}


declare <2 x i8> @_Z10_cl_rotateDv2_cS_(<2 x i8>, <2 x i8>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z6rotateDv2_cS_(<2 x i8> %a, <2 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z10_cl_rotateDv2_cS_(<2 x i8> %a, <2 x i8> %b)
  ret <2 x i8> %call
}


declare <2 x i8> @_Z11_cl_sub_satDv2_cS_(<2 x i8>, <2 x i8>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z7sub_satDv2_cS_(<2 x i8> %a, <2 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z11_cl_sub_satDv2_cS_(<2 x i8> %a, <2 x i8> %b)
  ret <2 x i8> %call
}


declare <2 x i8> @_Z13_cl_bitselectDv2_cS_S_(<2 x i8>, <2 x i8>, <2 x i8>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z9bitselectDv2_cS_S_(<2 x i8> %a, <2 x i8> %b, <2 x i8> %c) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z13_cl_bitselectDv2_cS_S_(<2 x i8> %a, <2 x i8> %b, <2 x i8> %c)
  ret <2 x i8> %call
}


declare <2 x i8> @_Z9_cl_clampDv2_cS_S_(<2 x i8>, <2 x i8>, <2 x i8>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z5clampDv2_cS_S_(<2 x i8> %a, <2 x i8> %b, <2 x i8> %c) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z9_cl_clampDv2_cS_S_(<2 x i8> %a, <2 x i8> %b, <2 x i8> %c)
  ret <2 x i8> %call
}


declare <2 x i8> @_Z10_cl_mad_hiDv2_cS_S_(<2 x i8>, <2 x i8>, <2 x i8>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z6mad_hiDv2_cS_S_(<2 x i8> %a, <2 x i8> %b, <2 x i8> %c) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z10_cl_mad_hiDv2_cS_S_(<2 x i8> %a, <2 x i8> %b, <2 x i8> %c)
  ret <2 x i8> %call
}


declare <2 x i8> @_Z11_cl_mad_satDv2_cS_S_(<2 x i8>, <2 x i8>, <2 x i8>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z7mad_satDv2_cS_S_(<2 x i8> %a, <2 x i8> %b, <2 x i8> %c) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z11_cl_mad_satDv2_cS_S_(<2 x i8> %a, <2 x i8> %b, <2 x i8> %c)
  ret <2 x i8> %call
}


declare i32 @_Z7_cl_anyDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func i32 @_Z3anyDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_anyDv2_c(<2 x i8> %a)
  ret i32 %call
}


declare i32 @_Z7_cl_allDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func i32 @_Z3allDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_allDv2_c(<2 x i8> %a)
  ret i32 %call
}


declare <3 x i8> @_Z7_cl_absDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z3absDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z7_cl_absDv3_c(<3 x i8> %a)
  ret <3 x i8> %call
}


declare <3 x i8> @_Z7_cl_clzDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z3clzDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z7_cl_clzDv3_c(<3 x i8> %a)
  ret <3 x i8> %call
}


declare <3 x i8> @_Z12_cl_popcountDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z8popcountDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z12_cl_popcountDv3_c(<3 x i8> %a)
  ret <3 x i8> %call
}


declare <3 x i8> @_Z12_cl_abs_diffDv3_cS_(<3 x i8>, <3 x i8>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z8abs_diffDv3_cS_(<3 x i8> %a, <3 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z12_cl_abs_diffDv3_cS_(<3 x i8> %a, <3 x i8> %b)
  ret <3 x i8> %call
}


declare <3 x i8> @_Z11_cl_add_satDv3_cS_(<3 x i8>, <3 x i8>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z7add_satDv3_cS_(<3 x i8> %a, <3 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z11_cl_add_satDv3_cS_(<3 x i8> %a, <3 x i8> %b)
  ret <3 x i8> %call
}


declare <3 x i8> @_Z8_cl_haddDv3_cS_(<3 x i8>, <3 x i8>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z4haddDv3_cS_(<3 x i8> %a, <3 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z8_cl_haddDv3_cS_(<3 x i8> %a, <3 x i8> %b)
  ret <3 x i8> %call
}


declare <3 x i8> @_Z7_cl_maxDv3_cS_(<3 x i8>, <3 x i8>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z3maxDv3_cS_(<3 x i8> %a, <3 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z7_cl_maxDv3_cS_(<3 x i8> %a, <3 x i8> %b)
  ret <3 x i8> %call
}


declare <3 x i8> @_Z7_cl_minDv3_cS_(<3 x i8>, <3 x i8>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z3minDv3_cS_(<3 x i8> %a, <3 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z7_cl_minDv3_cS_(<3 x i8> %a, <3 x i8> %b)
  ret <3 x i8> %call
}


declare <3 x i8> @_Z10_cl_mul_hiDv3_cS_(<3 x i8>, <3 x i8>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z6mul_hiDv3_cS_(<3 x i8> %a, <3 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z10_cl_mul_hiDv3_cS_(<3 x i8> %a, <3 x i8> %b)
  ret <3 x i8> %call
}


declare <3 x i8> @_Z9_cl_rhaddDv3_cS_(<3 x i8>, <3 x i8>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z5rhaddDv3_cS_(<3 x i8> %a, <3 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z9_cl_rhaddDv3_cS_(<3 x i8> %a, <3 x i8> %b)
  ret <3 x i8> %call
}


declare <3 x i8> @_Z10_cl_rotateDv3_cS_(<3 x i8>, <3 x i8>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z6rotateDv3_cS_(<3 x i8> %a, <3 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z10_cl_rotateDv3_cS_(<3 x i8> %a, <3 x i8> %b)
  ret <3 x i8> %call
}


declare <3 x i8> @_Z11_cl_sub_satDv3_cS_(<3 x i8>, <3 x i8>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z7sub_satDv3_cS_(<3 x i8> %a, <3 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z11_cl_sub_satDv3_cS_(<3 x i8> %a, <3 x i8> %b)
  ret <3 x i8> %call
}


declare <3 x i8> @_Z13_cl_bitselectDv3_cS_S_(<3 x i8>, <3 x i8>, <3 x i8>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z9bitselectDv3_cS_S_(<3 x i8> %a, <3 x i8> %b, <3 x i8> %c) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z13_cl_bitselectDv3_cS_S_(<3 x i8> %a, <3 x i8> %b, <3 x i8> %c)
  ret <3 x i8> %call
}


declare <3 x i8> @_Z9_cl_clampDv3_cS_S_(<3 x i8>, <3 x i8>, <3 x i8>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z5clampDv3_cS_S_(<3 x i8> %a, <3 x i8> %b, <3 x i8> %c) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z9_cl_clampDv3_cS_S_(<3 x i8> %a, <3 x i8> %b, <3 x i8> %c)
  ret <3 x i8> %call
}


declare <3 x i8> @_Z10_cl_mad_hiDv3_cS_S_(<3 x i8>, <3 x i8>, <3 x i8>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z6mad_hiDv3_cS_S_(<3 x i8> %a, <3 x i8> %b, <3 x i8> %c) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z10_cl_mad_hiDv3_cS_S_(<3 x i8> %a, <3 x i8> %b, <3 x i8> %c)
  ret <3 x i8> %call
}


declare <3 x i8> @_Z11_cl_mad_satDv3_cS_S_(<3 x i8>, <3 x i8>, <3 x i8>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z7mad_satDv3_cS_S_(<3 x i8> %a, <3 x i8> %b, <3 x i8> %c) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z11_cl_mad_satDv3_cS_S_(<3 x i8> %a, <3 x i8> %b, <3 x i8> %c)
  ret <3 x i8> %call
}


declare i32 @_Z7_cl_anyDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func i32 @_Z3anyDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_anyDv3_c(<3 x i8> %a)
  ret i32 %call
}


declare i32 @_Z7_cl_allDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func i32 @_Z3allDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_allDv3_c(<3 x i8> %a)
  ret i32 %call
}


declare <4 x i8> @_Z7_cl_absDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z3absDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z7_cl_absDv4_c(<4 x i8> %a)
  ret <4 x i8> %call
}


declare <4 x i8> @_Z7_cl_clzDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z3clzDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z7_cl_clzDv4_c(<4 x i8> %a)
  ret <4 x i8> %call
}


declare <4 x i8> @_Z12_cl_popcountDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z8popcountDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z12_cl_popcountDv4_c(<4 x i8> %a)
  ret <4 x i8> %call
}


declare <4 x i8> @_Z12_cl_abs_diffDv4_cS_(<4 x i8>, <4 x i8>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z8abs_diffDv4_cS_(<4 x i8> %a, <4 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z12_cl_abs_diffDv4_cS_(<4 x i8> %a, <4 x i8> %b)
  ret <4 x i8> %call
}


declare <4 x i8> @_Z11_cl_add_satDv4_cS_(<4 x i8>, <4 x i8>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z7add_satDv4_cS_(<4 x i8> %a, <4 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z11_cl_add_satDv4_cS_(<4 x i8> %a, <4 x i8> %b)
  ret <4 x i8> %call
}


declare <4 x i8> @_Z8_cl_haddDv4_cS_(<4 x i8>, <4 x i8>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z4haddDv4_cS_(<4 x i8> %a, <4 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z8_cl_haddDv4_cS_(<4 x i8> %a, <4 x i8> %b)
  ret <4 x i8> %call
}


declare <4 x i8> @_Z7_cl_maxDv4_cS_(<4 x i8>, <4 x i8>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z3maxDv4_cS_(<4 x i8> %a, <4 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z7_cl_maxDv4_cS_(<4 x i8> %a, <4 x i8> %b)
  ret <4 x i8> %call
}


declare <4 x i8> @_Z7_cl_minDv4_cS_(<4 x i8>, <4 x i8>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z3minDv4_cS_(<4 x i8> %a, <4 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z7_cl_minDv4_cS_(<4 x i8> %a, <4 x i8> %b)
  ret <4 x i8> %call
}


declare <4 x i8> @_Z10_cl_mul_hiDv4_cS_(<4 x i8>, <4 x i8>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z6mul_hiDv4_cS_(<4 x i8> %a, <4 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z10_cl_mul_hiDv4_cS_(<4 x i8> %a, <4 x i8> %b)
  ret <4 x i8> %call
}


declare <4 x i8> @_Z9_cl_rhaddDv4_cS_(<4 x i8>, <4 x i8>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z5rhaddDv4_cS_(<4 x i8> %a, <4 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z9_cl_rhaddDv4_cS_(<4 x i8> %a, <4 x i8> %b)
  ret <4 x i8> %call
}


declare <4 x i8> @_Z10_cl_rotateDv4_cS_(<4 x i8>, <4 x i8>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z6rotateDv4_cS_(<4 x i8> %a, <4 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z10_cl_rotateDv4_cS_(<4 x i8> %a, <4 x i8> %b)
  ret <4 x i8> %call
}


declare <4 x i8> @_Z11_cl_sub_satDv4_cS_(<4 x i8>, <4 x i8>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z7sub_satDv4_cS_(<4 x i8> %a, <4 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z11_cl_sub_satDv4_cS_(<4 x i8> %a, <4 x i8> %b)
  ret <4 x i8> %call
}


declare <4 x i8> @_Z13_cl_bitselectDv4_cS_S_(<4 x i8>, <4 x i8>, <4 x i8>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z9bitselectDv4_cS_S_(<4 x i8> %a, <4 x i8> %b, <4 x i8> %c) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z13_cl_bitselectDv4_cS_S_(<4 x i8> %a, <4 x i8> %b, <4 x i8> %c)
  ret <4 x i8> %call
}


declare <4 x i8> @_Z9_cl_clampDv4_cS_S_(<4 x i8>, <4 x i8>, <4 x i8>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z5clampDv4_cS_S_(<4 x i8> %a, <4 x i8> %b, <4 x i8> %c) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z9_cl_clampDv4_cS_S_(<4 x i8> %a, <4 x i8> %b, <4 x i8> %c)
  ret <4 x i8> %call
}


declare <4 x i8> @_Z10_cl_mad_hiDv4_cS_S_(<4 x i8>, <4 x i8>, <4 x i8>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z6mad_hiDv4_cS_S_(<4 x i8> %a, <4 x i8> %b, <4 x i8> %c) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z10_cl_mad_hiDv4_cS_S_(<4 x i8> %a, <4 x i8> %b, <4 x i8> %c)
  ret <4 x i8> %call
}


declare <4 x i8> @_Z11_cl_mad_satDv4_cS_S_(<4 x i8>, <4 x i8>, <4 x i8>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z7mad_satDv4_cS_S_(<4 x i8> %a, <4 x i8> %b, <4 x i8> %c) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z11_cl_mad_satDv4_cS_S_(<4 x i8> %a, <4 x i8> %b, <4 x i8> %c)
  ret <4 x i8> %call
}


declare i32 @_Z7_cl_anyDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func i32 @_Z3anyDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_anyDv4_c(<4 x i8> %a)
  ret i32 %call
}


declare i32 @_Z7_cl_allDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func i32 @_Z3allDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_allDv4_c(<4 x i8> %a)
  ret i32 %call
}


declare <8 x i8> @_Z7_cl_absDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z3absDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z7_cl_absDv8_c(<8 x i8> %a)
  ret <8 x i8> %call
}


declare <8 x i8> @_Z7_cl_clzDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z3clzDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z7_cl_clzDv8_c(<8 x i8> %a)
  ret <8 x i8> %call
}


declare <8 x i8> @_Z12_cl_popcountDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z8popcountDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z12_cl_popcountDv8_c(<8 x i8> %a)
  ret <8 x i8> %call
}


declare <8 x i8> @_Z12_cl_abs_diffDv8_cS_(<8 x i8>, <8 x i8>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z8abs_diffDv8_cS_(<8 x i8> %a, <8 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z12_cl_abs_diffDv8_cS_(<8 x i8> %a, <8 x i8> %b)
  ret <8 x i8> %call
}


declare <8 x i8> @_Z11_cl_add_satDv8_cS_(<8 x i8>, <8 x i8>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z7add_satDv8_cS_(<8 x i8> %a, <8 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z11_cl_add_satDv8_cS_(<8 x i8> %a, <8 x i8> %b)
  ret <8 x i8> %call
}


declare <8 x i8> @_Z8_cl_haddDv8_cS_(<8 x i8>, <8 x i8>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z4haddDv8_cS_(<8 x i8> %a, <8 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z8_cl_haddDv8_cS_(<8 x i8> %a, <8 x i8> %b)
  ret <8 x i8> %call
}


declare <8 x i8> @_Z7_cl_maxDv8_cS_(<8 x i8>, <8 x i8>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z3maxDv8_cS_(<8 x i8> %a, <8 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z7_cl_maxDv8_cS_(<8 x i8> %a, <8 x i8> %b)
  ret <8 x i8> %call
}


declare <8 x i8> @_Z7_cl_minDv8_cS_(<8 x i8>, <8 x i8>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z3minDv8_cS_(<8 x i8> %a, <8 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z7_cl_minDv8_cS_(<8 x i8> %a, <8 x i8> %b)
  ret <8 x i8> %call
}


declare <8 x i8> @_Z10_cl_mul_hiDv8_cS_(<8 x i8>, <8 x i8>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z6mul_hiDv8_cS_(<8 x i8> %a, <8 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z10_cl_mul_hiDv8_cS_(<8 x i8> %a, <8 x i8> %b)
  ret <8 x i8> %call
}


declare <8 x i8> @_Z9_cl_rhaddDv8_cS_(<8 x i8>, <8 x i8>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z5rhaddDv8_cS_(<8 x i8> %a, <8 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z9_cl_rhaddDv8_cS_(<8 x i8> %a, <8 x i8> %b)
  ret <8 x i8> %call
}


declare <8 x i8> @_Z10_cl_rotateDv8_cS_(<8 x i8>, <8 x i8>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z6rotateDv8_cS_(<8 x i8> %a, <8 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z10_cl_rotateDv8_cS_(<8 x i8> %a, <8 x i8> %b)
  ret <8 x i8> %call
}


declare <8 x i8> @_Z11_cl_sub_satDv8_cS_(<8 x i8>, <8 x i8>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z7sub_satDv8_cS_(<8 x i8> %a, <8 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z11_cl_sub_satDv8_cS_(<8 x i8> %a, <8 x i8> %b)
  ret <8 x i8> %call
}


declare <8 x i8> @_Z13_cl_bitselectDv8_cS_S_(<8 x i8>, <8 x i8>, <8 x i8>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z9bitselectDv8_cS_S_(<8 x i8> %a, <8 x i8> %b, <8 x i8> %c) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z13_cl_bitselectDv8_cS_S_(<8 x i8> %a, <8 x i8> %b, <8 x i8> %c)
  ret <8 x i8> %call
}


declare <8 x i8> @_Z9_cl_clampDv8_cS_S_(<8 x i8>, <8 x i8>, <8 x i8>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z5clampDv8_cS_S_(<8 x i8> %a, <8 x i8> %b, <8 x i8> %c) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z9_cl_clampDv8_cS_S_(<8 x i8> %a, <8 x i8> %b, <8 x i8> %c)
  ret <8 x i8> %call
}


declare <8 x i8> @_Z10_cl_mad_hiDv8_cS_S_(<8 x i8>, <8 x i8>, <8 x i8>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z6mad_hiDv8_cS_S_(<8 x i8> %a, <8 x i8> %b, <8 x i8> %c) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z10_cl_mad_hiDv8_cS_S_(<8 x i8> %a, <8 x i8> %b, <8 x i8> %c)
  ret <8 x i8> %call
}


declare <8 x i8> @_Z11_cl_mad_satDv8_cS_S_(<8 x i8>, <8 x i8>, <8 x i8>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z7mad_satDv8_cS_S_(<8 x i8> %a, <8 x i8> %b, <8 x i8> %c) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z11_cl_mad_satDv8_cS_S_(<8 x i8> %a, <8 x i8> %b, <8 x i8> %c)
  ret <8 x i8> %call
}


declare i32 @_Z7_cl_anyDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func i32 @_Z3anyDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_anyDv8_c(<8 x i8> %a)
  ret i32 %call
}


declare i32 @_Z7_cl_allDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func i32 @_Z3allDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_allDv8_c(<8 x i8> %a)
  ret i32 %call
}


declare <16 x i8> @_Z7_cl_absDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z3absDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z7_cl_absDv16_c(<16 x i8> %a)
  ret <16 x i8> %call
}


declare <16 x i8> @_Z7_cl_clzDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z3clzDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z7_cl_clzDv16_c(<16 x i8> %a)
  ret <16 x i8> %call
}


declare <16 x i8> @_Z12_cl_popcountDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z8popcountDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z12_cl_popcountDv16_c(<16 x i8> %a)
  ret <16 x i8> %call
}


declare <16 x i8> @_Z12_cl_abs_diffDv16_cS_(<16 x i8>, <16 x i8>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z8abs_diffDv16_cS_(<16 x i8> %a, <16 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z12_cl_abs_diffDv16_cS_(<16 x i8> %a, <16 x i8> %b)
  ret <16 x i8> %call
}


declare <16 x i8> @_Z11_cl_add_satDv16_cS_(<16 x i8>, <16 x i8>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z7add_satDv16_cS_(<16 x i8> %a, <16 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z11_cl_add_satDv16_cS_(<16 x i8> %a, <16 x i8> %b)
  ret <16 x i8> %call
}


declare <16 x i8> @_Z8_cl_haddDv16_cS_(<16 x i8>, <16 x i8>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z4haddDv16_cS_(<16 x i8> %a, <16 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z8_cl_haddDv16_cS_(<16 x i8> %a, <16 x i8> %b)
  ret <16 x i8> %call
}


declare <16 x i8> @_Z7_cl_maxDv16_cS_(<16 x i8>, <16 x i8>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z3maxDv16_cS_(<16 x i8> %a, <16 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z7_cl_maxDv16_cS_(<16 x i8> %a, <16 x i8> %b)
  ret <16 x i8> %call
}


declare <16 x i8> @_Z7_cl_minDv16_cS_(<16 x i8>, <16 x i8>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z3minDv16_cS_(<16 x i8> %a, <16 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z7_cl_minDv16_cS_(<16 x i8> %a, <16 x i8> %b)
  ret <16 x i8> %call
}


declare <16 x i8> @_Z10_cl_mul_hiDv16_cS_(<16 x i8>, <16 x i8>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z6mul_hiDv16_cS_(<16 x i8> %a, <16 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z10_cl_mul_hiDv16_cS_(<16 x i8> %a, <16 x i8> %b)
  ret <16 x i8> %call
}


declare <16 x i8> @_Z9_cl_rhaddDv16_cS_(<16 x i8>, <16 x i8>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z5rhaddDv16_cS_(<16 x i8> %a, <16 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z9_cl_rhaddDv16_cS_(<16 x i8> %a, <16 x i8> %b)
  ret <16 x i8> %call
}


declare <16 x i8> @_Z10_cl_rotateDv16_cS_(<16 x i8>, <16 x i8>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z6rotateDv16_cS_(<16 x i8> %a, <16 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z10_cl_rotateDv16_cS_(<16 x i8> %a, <16 x i8> %b)
  ret <16 x i8> %call
}


declare <16 x i8> @_Z11_cl_sub_satDv16_cS_(<16 x i8>, <16 x i8>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z7sub_satDv16_cS_(<16 x i8> %a, <16 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z11_cl_sub_satDv16_cS_(<16 x i8> %a, <16 x i8> %b)
  ret <16 x i8> %call
}


declare <16 x i8> @_Z13_cl_bitselectDv16_cS_S_(<16 x i8>, <16 x i8>, <16 x i8>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z9bitselectDv16_cS_S_(<16 x i8> %a, <16 x i8> %b, <16 x i8> %c) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z13_cl_bitselectDv16_cS_S_(<16 x i8> %a, <16 x i8> %b, <16 x i8> %c)
  ret <16 x i8> %call
}


declare <16 x i8> @_Z9_cl_clampDv16_cS_S_(<16 x i8>, <16 x i8>, <16 x i8>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z5clampDv16_cS_S_(<16 x i8> %a, <16 x i8> %b, <16 x i8> %c) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z9_cl_clampDv16_cS_S_(<16 x i8> %a, <16 x i8> %b, <16 x i8> %c)
  ret <16 x i8> %call
}


declare <16 x i8> @_Z10_cl_mad_hiDv16_cS_S_(<16 x i8>, <16 x i8>, <16 x i8>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z6mad_hiDv16_cS_S_(<16 x i8> %a, <16 x i8> %b, <16 x i8> %c) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z10_cl_mad_hiDv16_cS_S_(<16 x i8> %a, <16 x i8> %b, <16 x i8> %c)
  ret <16 x i8> %call
}


declare <16 x i8> @_Z11_cl_mad_satDv16_cS_S_(<16 x i8>, <16 x i8>, <16 x i8>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z7mad_satDv16_cS_S_(<16 x i8> %a, <16 x i8> %b, <16 x i8> %c) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z11_cl_mad_satDv16_cS_S_(<16 x i8> %a, <16 x i8> %b, <16 x i8> %c)
  ret <16 x i8> %call
}


declare i32 @_Z7_cl_anyDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func i32 @_Z3anyDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_anyDv16_c(<16 x i8> %a)
  ret i32 %call
}


declare i32 @_Z7_cl_allDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func i32 @_Z3allDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_allDv16_c(<16 x i8> %a)
  ret i32 %call
}


declare i8 @_Z7_cl_absh(i8) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z3absh(i8 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z7_cl_absh(i8 %a)
  ret i8 %call
}


declare i8 @_Z7_cl_clzh(i8) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z3clzh(i8 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z7_cl_clzh(i8 %a)
  ret i8 %call
}


declare i8 @_Z12_cl_popcounth(i8) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z8popcounth(i8 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z12_cl_popcounth(i8 %a)
  ret i8 %call
}


declare i8 @_Z12_cl_abs_diffhh(i8, i8) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z8abs_diffhh(i8 %a, i8 %b) local_unnamed_addr #0 {
  %call = tail call i8 @_Z12_cl_abs_diffhh(i8 %a, i8 %b)
  ret i8 %call
}


declare i8 @_Z11_cl_add_sathh(i8, i8) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z7add_sathh(i8 %a, i8 %b) local_unnamed_addr #0 {
  %call = tail call i8 @_Z11_cl_add_sathh(i8 %a, i8 %b)
  ret i8 %call
}


declare i8 @_Z8_cl_haddhh(i8, i8) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z4haddhh(i8 %a, i8 %b) local_unnamed_addr #0 {
  %call = tail call i8 @_Z8_cl_haddhh(i8 %a, i8 %b)
  ret i8 %call
}


declare i8 @_Z7_cl_maxhh(i8, i8) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z3maxhh(i8 %a, i8 %b) local_unnamed_addr #0 {
  %call = tail call i8 @_Z7_cl_maxhh(i8 %a, i8 %b)
  ret i8 %call
}


declare i8 @_Z7_cl_minhh(i8, i8) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z3minhh(i8 %a, i8 %b) local_unnamed_addr #0 {
  %call = tail call i8 @_Z7_cl_minhh(i8 %a, i8 %b)
  ret i8 %call
}


declare i8 @_Z10_cl_mul_hihh(i8, i8) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z6mul_hihh(i8 %a, i8 %b) local_unnamed_addr #0 {
  %call = tail call i8 @_Z10_cl_mul_hihh(i8 %a, i8 %b)
  ret i8 %call
}


declare i8 @_Z9_cl_rhaddhh(i8, i8) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z5rhaddhh(i8 %a, i8 %b) local_unnamed_addr #0 {
  %call = tail call i8 @_Z9_cl_rhaddhh(i8 %a, i8 %b)
  ret i8 %call
}


declare i8 @_Z10_cl_rotatehh(i8, i8) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z6rotatehh(i8 %a, i8 %b) local_unnamed_addr #0 {
  %call = tail call i8 @_Z10_cl_rotatehh(i8 %a, i8 %b)
  ret i8 %call
}


declare i8 @_Z11_cl_sub_sathh(i8, i8) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z7sub_sathh(i8 %a, i8 %b) local_unnamed_addr #0 {
  %call = tail call i8 @_Z11_cl_sub_sathh(i8 %a, i8 %b)
  ret i8 %call
}


declare i8 @_Z13_cl_bitselecthhh(i8, i8, i8) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z9bitselecthhh(i8 %a, i8 %b, i8 %c) local_unnamed_addr #0 {
  %call = tail call i8 @_Z13_cl_bitselecthhh(i8 %a, i8 %b, i8 %c)
  ret i8 %call
}


declare i8 @_Z9_cl_clamphhh(i8, i8, i8) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z5clamphhh(i8 %a, i8 %b, i8 %c) local_unnamed_addr #0 {
  %call = tail call i8 @_Z9_cl_clamphhh(i8 %a, i8 %b, i8 %c)
  ret i8 %call
}


declare i8 @_Z10_cl_mad_hihhh(i8, i8, i8) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z6mad_hihhh(i8 %a, i8 %b, i8 %c) local_unnamed_addr #0 {
  %call = tail call i8 @_Z10_cl_mad_hihhh(i8 %a, i8 %b, i8 %c)
  ret i8 %call
}


declare i8 @_Z11_cl_mad_sathhh(i8, i8, i8) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z7mad_sathhh(i8 %a, i8 %b, i8 %c) local_unnamed_addr #0 {
  %call = tail call i8 @_Z11_cl_mad_sathhh(i8 %a, i8 %b, i8 %c)
  ret i8 %call
}


declare i32 @_Z7_cl_anyh(i8) local_unnamed_addr #0

define spir_func i32 @_Z3anyh(i8 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_anyh(i8 %a)
  ret i32 %call
}


declare i32 @_Z7_cl_allh(i8) local_unnamed_addr #0

define spir_func i32 @_Z3allh(i8 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_allh(i8 %a)
  ret i32 %call
}


declare <2 x i8> @_Z7_cl_absDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z3absDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z7_cl_absDv2_h(<2 x i8> %a)
  ret <2 x i8> %call
}


declare <2 x i8> @_Z7_cl_clzDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z3clzDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z7_cl_clzDv2_h(<2 x i8> %a)
  ret <2 x i8> %call
}


declare <2 x i8> @_Z12_cl_popcountDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z8popcountDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z12_cl_popcountDv2_h(<2 x i8> %a)
  ret <2 x i8> %call
}


declare <2 x i8> @_Z12_cl_abs_diffDv2_hS_(<2 x i8>, <2 x i8>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z8abs_diffDv2_hS_(<2 x i8> %a, <2 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z12_cl_abs_diffDv2_hS_(<2 x i8> %a, <2 x i8> %b)
  ret <2 x i8> %call
}


declare <2 x i8> @_Z11_cl_add_satDv2_hS_(<2 x i8>, <2 x i8>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z7add_satDv2_hS_(<2 x i8> %a, <2 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z11_cl_add_satDv2_hS_(<2 x i8> %a, <2 x i8> %b)
  ret <2 x i8> %call
}


declare <2 x i8> @_Z8_cl_haddDv2_hS_(<2 x i8>, <2 x i8>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z4haddDv2_hS_(<2 x i8> %a, <2 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z8_cl_haddDv2_hS_(<2 x i8> %a, <2 x i8> %b)
  ret <2 x i8> %call
}


declare <2 x i8> @_Z7_cl_maxDv2_hS_(<2 x i8>, <2 x i8>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z3maxDv2_hS_(<2 x i8> %a, <2 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z7_cl_maxDv2_hS_(<2 x i8> %a, <2 x i8> %b)
  ret <2 x i8> %call
}


declare <2 x i8> @_Z7_cl_minDv2_hS_(<2 x i8>, <2 x i8>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z3minDv2_hS_(<2 x i8> %a, <2 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z7_cl_minDv2_hS_(<2 x i8> %a, <2 x i8> %b)
  ret <2 x i8> %call
}


declare <2 x i8> @_Z10_cl_mul_hiDv2_hS_(<2 x i8>, <2 x i8>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z6mul_hiDv2_hS_(<2 x i8> %a, <2 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z10_cl_mul_hiDv2_hS_(<2 x i8> %a, <2 x i8> %b)
  ret <2 x i8> %call
}


declare <2 x i8> @_Z9_cl_rhaddDv2_hS_(<2 x i8>, <2 x i8>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z5rhaddDv2_hS_(<2 x i8> %a, <2 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z9_cl_rhaddDv2_hS_(<2 x i8> %a, <2 x i8> %b)
  ret <2 x i8> %call
}


declare <2 x i8> @_Z10_cl_rotateDv2_hS_(<2 x i8>, <2 x i8>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z6rotateDv2_hS_(<2 x i8> %a, <2 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z10_cl_rotateDv2_hS_(<2 x i8> %a, <2 x i8> %b)
  ret <2 x i8> %call
}


declare <2 x i8> @_Z11_cl_sub_satDv2_hS_(<2 x i8>, <2 x i8>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z7sub_satDv2_hS_(<2 x i8> %a, <2 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z11_cl_sub_satDv2_hS_(<2 x i8> %a, <2 x i8> %b)
  ret <2 x i8> %call
}


declare <2 x i8> @_Z13_cl_bitselectDv2_hS_S_(<2 x i8>, <2 x i8>, <2 x i8>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z9bitselectDv2_hS_S_(<2 x i8> %a, <2 x i8> %b, <2 x i8> %c) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z13_cl_bitselectDv2_hS_S_(<2 x i8> %a, <2 x i8> %b, <2 x i8> %c)
  ret <2 x i8> %call
}


declare <2 x i8> @_Z9_cl_clampDv2_hS_S_(<2 x i8>, <2 x i8>, <2 x i8>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z5clampDv2_hS_S_(<2 x i8> %a, <2 x i8> %b, <2 x i8> %c) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z9_cl_clampDv2_hS_S_(<2 x i8> %a, <2 x i8> %b, <2 x i8> %c)
  ret <2 x i8> %call
}


declare <2 x i8> @_Z10_cl_mad_hiDv2_hS_S_(<2 x i8>, <2 x i8>, <2 x i8>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z6mad_hiDv2_hS_S_(<2 x i8> %a, <2 x i8> %b, <2 x i8> %c) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z10_cl_mad_hiDv2_hS_S_(<2 x i8> %a, <2 x i8> %b, <2 x i8> %c)
  ret <2 x i8> %call
}


declare <2 x i8> @_Z11_cl_mad_satDv2_hS_S_(<2 x i8>, <2 x i8>, <2 x i8>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z7mad_satDv2_hS_S_(<2 x i8> %a, <2 x i8> %b, <2 x i8> %c) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z11_cl_mad_satDv2_hS_S_(<2 x i8> %a, <2 x i8> %b, <2 x i8> %c)
  ret <2 x i8> %call
}


declare i32 @_Z7_cl_anyDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func i32 @_Z3anyDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_anyDv2_h(<2 x i8> %a)
  ret i32 %call
}


declare i32 @_Z7_cl_allDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func i32 @_Z3allDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_allDv2_h(<2 x i8> %a)
  ret i32 %call
}


declare <3 x i8> @_Z7_cl_absDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z3absDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z7_cl_absDv3_h(<3 x i8> %a)
  ret <3 x i8> %call
}


declare <3 x i8> @_Z7_cl_clzDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z3clzDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z7_cl_clzDv3_h(<3 x i8> %a)
  ret <3 x i8> %call
}


declare <3 x i8> @_Z12_cl_popcountDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z8popcountDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z12_cl_popcountDv3_h(<3 x i8> %a)
  ret <3 x i8> %call
}


declare <3 x i8> @_Z12_cl_abs_diffDv3_hS_(<3 x i8>, <3 x i8>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z8abs_diffDv3_hS_(<3 x i8> %a, <3 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z12_cl_abs_diffDv3_hS_(<3 x i8> %a, <3 x i8> %b)
  ret <3 x i8> %call
}


declare <3 x i8> @_Z11_cl_add_satDv3_hS_(<3 x i8>, <3 x i8>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z7add_satDv3_hS_(<3 x i8> %a, <3 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z11_cl_add_satDv3_hS_(<3 x i8> %a, <3 x i8> %b)
  ret <3 x i8> %call
}


declare <3 x i8> @_Z8_cl_haddDv3_hS_(<3 x i8>, <3 x i8>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z4haddDv3_hS_(<3 x i8> %a, <3 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z8_cl_haddDv3_hS_(<3 x i8> %a, <3 x i8> %b)
  ret <3 x i8> %call
}


declare <3 x i8> @_Z7_cl_maxDv3_hS_(<3 x i8>, <3 x i8>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z3maxDv3_hS_(<3 x i8> %a, <3 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z7_cl_maxDv3_hS_(<3 x i8> %a, <3 x i8> %b)
  ret <3 x i8> %call
}


declare <3 x i8> @_Z7_cl_minDv3_hS_(<3 x i8>, <3 x i8>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z3minDv3_hS_(<3 x i8> %a, <3 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z7_cl_minDv3_hS_(<3 x i8> %a, <3 x i8> %b)
  ret <3 x i8> %call
}


declare <3 x i8> @_Z10_cl_mul_hiDv3_hS_(<3 x i8>, <3 x i8>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z6mul_hiDv3_hS_(<3 x i8> %a, <3 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z10_cl_mul_hiDv3_hS_(<3 x i8> %a, <3 x i8> %b)
  ret <3 x i8> %call
}


declare <3 x i8> @_Z9_cl_rhaddDv3_hS_(<3 x i8>, <3 x i8>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z5rhaddDv3_hS_(<3 x i8> %a, <3 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z9_cl_rhaddDv3_hS_(<3 x i8> %a, <3 x i8> %b)
  ret <3 x i8> %call
}


declare <3 x i8> @_Z10_cl_rotateDv3_hS_(<3 x i8>, <3 x i8>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z6rotateDv3_hS_(<3 x i8> %a, <3 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z10_cl_rotateDv3_hS_(<3 x i8> %a, <3 x i8> %b)
  ret <3 x i8> %call
}


declare <3 x i8> @_Z11_cl_sub_satDv3_hS_(<3 x i8>, <3 x i8>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z7sub_satDv3_hS_(<3 x i8> %a, <3 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z11_cl_sub_satDv3_hS_(<3 x i8> %a, <3 x i8> %b)
  ret <3 x i8> %call
}


declare <3 x i8> @_Z13_cl_bitselectDv3_hS_S_(<3 x i8>, <3 x i8>, <3 x i8>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z9bitselectDv3_hS_S_(<3 x i8> %a, <3 x i8> %b, <3 x i8> %c) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z13_cl_bitselectDv3_hS_S_(<3 x i8> %a, <3 x i8> %b, <3 x i8> %c)
  ret <3 x i8> %call
}


declare <3 x i8> @_Z9_cl_clampDv3_hS_S_(<3 x i8>, <3 x i8>, <3 x i8>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z5clampDv3_hS_S_(<3 x i8> %a, <3 x i8> %b, <3 x i8> %c) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z9_cl_clampDv3_hS_S_(<3 x i8> %a, <3 x i8> %b, <3 x i8> %c)
  ret <3 x i8> %call
}


declare <3 x i8> @_Z10_cl_mad_hiDv3_hS_S_(<3 x i8>, <3 x i8>, <3 x i8>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z6mad_hiDv3_hS_S_(<3 x i8> %a, <3 x i8> %b, <3 x i8> %c) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z10_cl_mad_hiDv3_hS_S_(<3 x i8> %a, <3 x i8> %b, <3 x i8> %c)
  ret <3 x i8> %call
}


declare <3 x i8> @_Z11_cl_mad_satDv3_hS_S_(<3 x i8>, <3 x i8>, <3 x i8>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z7mad_satDv3_hS_S_(<3 x i8> %a, <3 x i8> %b, <3 x i8> %c) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z11_cl_mad_satDv3_hS_S_(<3 x i8> %a, <3 x i8> %b, <3 x i8> %c)
  ret <3 x i8> %call
}


declare i32 @_Z7_cl_anyDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func i32 @_Z3anyDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_anyDv3_h(<3 x i8> %a)
  ret i32 %call
}


declare i32 @_Z7_cl_allDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func i32 @_Z3allDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_allDv3_h(<3 x i8> %a)
  ret i32 %call
}


declare <4 x i8> @_Z7_cl_absDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z3absDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z7_cl_absDv4_h(<4 x i8> %a)
  ret <4 x i8> %call
}


declare <4 x i8> @_Z7_cl_clzDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z3clzDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z7_cl_clzDv4_h(<4 x i8> %a)
  ret <4 x i8> %call
}


declare <4 x i8> @_Z12_cl_popcountDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z8popcountDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z12_cl_popcountDv4_h(<4 x i8> %a)
  ret <4 x i8> %call
}


declare <4 x i8> @_Z12_cl_abs_diffDv4_hS_(<4 x i8>, <4 x i8>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z8abs_diffDv4_hS_(<4 x i8> %a, <4 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z12_cl_abs_diffDv4_hS_(<4 x i8> %a, <4 x i8> %b)
  ret <4 x i8> %call
}


declare <4 x i8> @_Z11_cl_add_satDv4_hS_(<4 x i8>, <4 x i8>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z7add_satDv4_hS_(<4 x i8> %a, <4 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z11_cl_add_satDv4_hS_(<4 x i8> %a, <4 x i8> %b)
  ret <4 x i8> %call
}


declare <4 x i8> @_Z8_cl_haddDv4_hS_(<4 x i8>, <4 x i8>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z4haddDv4_hS_(<4 x i8> %a, <4 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z8_cl_haddDv4_hS_(<4 x i8> %a, <4 x i8> %b)
  ret <4 x i8> %call
}


declare <4 x i8> @_Z7_cl_maxDv4_hS_(<4 x i8>, <4 x i8>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z3maxDv4_hS_(<4 x i8> %a, <4 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z7_cl_maxDv4_hS_(<4 x i8> %a, <4 x i8> %b)
  ret <4 x i8> %call
}


declare <4 x i8> @_Z7_cl_minDv4_hS_(<4 x i8>, <4 x i8>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z3minDv4_hS_(<4 x i8> %a, <4 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z7_cl_minDv4_hS_(<4 x i8> %a, <4 x i8> %b)
  ret <4 x i8> %call
}


declare <4 x i8> @_Z10_cl_mul_hiDv4_hS_(<4 x i8>, <4 x i8>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z6mul_hiDv4_hS_(<4 x i8> %a, <4 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z10_cl_mul_hiDv4_hS_(<4 x i8> %a, <4 x i8> %b)
  ret <4 x i8> %call
}


declare <4 x i8> @_Z9_cl_rhaddDv4_hS_(<4 x i8>, <4 x i8>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z5rhaddDv4_hS_(<4 x i8> %a, <4 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z9_cl_rhaddDv4_hS_(<4 x i8> %a, <4 x i8> %b)
  ret <4 x i8> %call
}


declare <4 x i8> @_Z10_cl_rotateDv4_hS_(<4 x i8>, <4 x i8>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z6rotateDv4_hS_(<4 x i8> %a, <4 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z10_cl_rotateDv4_hS_(<4 x i8> %a, <4 x i8> %b)
  ret <4 x i8> %call
}


declare <4 x i8> @_Z11_cl_sub_satDv4_hS_(<4 x i8>, <4 x i8>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z7sub_satDv4_hS_(<4 x i8> %a, <4 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z11_cl_sub_satDv4_hS_(<4 x i8> %a, <4 x i8> %b)
  ret <4 x i8> %call
}


declare <4 x i8> @_Z13_cl_bitselectDv4_hS_S_(<4 x i8>, <4 x i8>, <4 x i8>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z9bitselectDv4_hS_S_(<4 x i8> %a, <4 x i8> %b, <4 x i8> %c) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z13_cl_bitselectDv4_hS_S_(<4 x i8> %a, <4 x i8> %b, <4 x i8> %c)
  ret <4 x i8> %call
}


declare <4 x i8> @_Z9_cl_clampDv4_hS_S_(<4 x i8>, <4 x i8>, <4 x i8>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z5clampDv4_hS_S_(<4 x i8> %a, <4 x i8> %b, <4 x i8> %c) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z9_cl_clampDv4_hS_S_(<4 x i8> %a, <4 x i8> %b, <4 x i8> %c)
  ret <4 x i8> %call
}


declare <4 x i8> @_Z10_cl_mad_hiDv4_hS_S_(<4 x i8>, <4 x i8>, <4 x i8>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z6mad_hiDv4_hS_S_(<4 x i8> %a, <4 x i8> %b, <4 x i8> %c) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z10_cl_mad_hiDv4_hS_S_(<4 x i8> %a, <4 x i8> %b, <4 x i8> %c)
  ret <4 x i8> %call
}


declare <4 x i8> @_Z11_cl_mad_satDv4_hS_S_(<4 x i8>, <4 x i8>, <4 x i8>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z7mad_satDv4_hS_S_(<4 x i8> %a, <4 x i8> %b, <4 x i8> %c) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z11_cl_mad_satDv4_hS_S_(<4 x i8> %a, <4 x i8> %b, <4 x i8> %c)
  ret <4 x i8> %call
}


declare i32 @_Z7_cl_anyDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func i32 @_Z3anyDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_anyDv4_h(<4 x i8> %a)
  ret i32 %call
}


declare i32 @_Z7_cl_allDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func i32 @_Z3allDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_allDv4_h(<4 x i8> %a)
  ret i32 %call
}


declare <8 x i8> @_Z7_cl_absDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z3absDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z7_cl_absDv8_h(<8 x i8> %a)
  ret <8 x i8> %call
}


declare <8 x i8> @_Z7_cl_clzDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z3clzDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z7_cl_clzDv8_h(<8 x i8> %a)
  ret <8 x i8> %call
}


declare <8 x i8> @_Z12_cl_popcountDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z8popcountDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z12_cl_popcountDv8_h(<8 x i8> %a)
  ret <8 x i8> %call
}


declare <8 x i8> @_Z12_cl_abs_diffDv8_hS_(<8 x i8>, <8 x i8>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z8abs_diffDv8_hS_(<8 x i8> %a, <8 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z12_cl_abs_diffDv8_hS_(<8 x i8> %a, <8 x i8> %b)
  ret <8 x i8> %call
}


declare <8 x i8> @_Z11_cl_add_satDv8_hS_(<8 x i8>, <8 x i8>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z7add_satDv8_hS_(<8 x i8> %a, <8 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z11_cl_add_satDv8_hS_(<8 x i8> %a, <8 x i8> %b)
  ret <8 x i8> %call
}


declare <8 x i8> @_Z8_cl_haddDv8_hS_(<8 x i8>, <8 x i8>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z4haddDv8_hS_(<8 x i8> %a, <8 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z8_cl_haddDv8_hS_(<8 x i8> %a, <8 x i8> %b)
  ret <8 x i8> %call
}


declare <8 x i8> @_Z7_cl_maxDv8_hS_(<8 x i8>, <8 x i8>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z3maxDv8_hS_(<8 x i8> %a, <8 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z7_cl_maxDv8_hS_(<8 x i8> %a, <8 x i8> %b)
  ret <8 x i8> %call
}


declare <8 x i8> @_Z7_cl_minDv8_hS_(<8 x i8>, <8 x i8>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z3minDv8_hS_(<8 x i8> %a, <8 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z7_cl_minDv8_hS_(<8 x i8> %a, <8 x i8> %b)
  ret <8 x i8> %call
}


declare <8 x i8> @_Z10_cl_mul_hiDv8_hS_(<8 x i8>, <8 x i8>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z6mul_hiDv8_hS_(<8 x i8> %a, <8 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z10_cl_mul_hiDv8_hS_(<8 x i8> %a, <8 x i8> %b)
  ret <8 x i8> %call
}


declare <8 x i8> @_Z9_cl_rhaddDv8_hS_(<8 x i8>, <8 x i8>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z5rhaddDv8_hS_(<8 x i8> %a, <8 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z9_cl_rhaddDv8_hS_(<8 x i8> %a, <8 x i8> %b)
  ret <8 x i8> %call
}


declare <8 x i8> @_Z10_cl_rotateDv8_hS_(<8 x i8>, <8 x i8>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z6rotateDv8_hS_(<8 x i8> %a, <8 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z10_cl_rotateDv8_hS_(<8 x i8> %a, <8 x i8> %b)
  ret <8 x i8> %call
}


declare <8 x i8> @_Z11_cl_sub_satDv8_hS_(<8 x i8>, <8 x i8>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z7sub_satDv8_hS_(<8 x i8> %a, <8 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z11_cl_sub_satDv8_hS_(<8 x i8> %a, <8 x i8> %b)
  ret <8 x i8> %call
}


declare <8 x i8> @_Z13_cl_bitselectDv8_hS_S_(<8 x i8>, <8 x i8>, <8 x i8>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z9bitselectDv8_hS_S_(<8 x i8> %a, <8 x i8> %b, <8 x i8> %c) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z13_cl_bitselectDv8_hS_S_(<8 x i8> %a, <8 x i8> %b, <8 x i8> %c)
  ret <8 x i8> %call
}


declare <8 x i8> @_Z9_cl_clampDv8_hS_S_(<8 x i8>, <8 x i8>, <8 x i8>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z5clampDv8_hS_S_(<8 x i8> %a, <8 x i8> %b, <8 x i8> %c) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z9_cl_clampDv8_hS_S_(<8 x i8> %a, <8 x i8> %b, <8 x i8> %c)
  ret <8 x i8> %call
}


declare <8 x i8> @_Z10_cl_mad_hiDv8_hS_S_(<8 x i8>, <8 x i8>, <8 x i8>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z6mad_hiDv8_hS_S_(<8 x i8> %a, <8 x i8> %b, <8 x i8> %c) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z10_cl_mad_hiDv8_hS_S_(<8 x i8> %a, <8 x i8> %b, <8 x i8> %c)
  ret <8 x i8> %call
}


declare <8 x i8> @_Z11_cl_mad_satDv8_hS_S_(<8 x i8>, <8 x i8>, <8 x i8>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z7mad_satDv8_hS_S_(<8 x i8> %a, <8 x i8> %b, <8 x i8> %c) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z11_cl_mad_satDv8_hS_S_(<8 x i8> %a, <8 x i8> %b, <8 x i8> %c)
  ret <8 x i8> %call
}


declare i32 @_Z7_cl_anyDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func i32 @_Z3anyDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_anyDv8_h(<8 x i8> %a)
  ret i32 %call
}


declare i32 @_Z7_cl_allDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func i32 @_Z3allDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_allDv8_h(<8 x i8> %a)
  ret i32 %call
}


declare <16 x i8> @_Z7_cl_absDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z3absDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z7_cl_absDv16_h(<16 x i8> %a)
  ret <16 x i8> %call
}


declare <16 x i8> @_Z7_cl_clzDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z3clzDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z7_cl_clzDv16_h(<16 x i8> %a)
  ret <16 x i8> %call
}


declare <16 x i8> @_Z12_cl_popcountDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z8popcountDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z12_cl_popcountDv16_h(<16 x i8> %a)
  ret <16 x i8> %call
}


declare <16 x i8> @_Z12_cl_abs_diffDv16_hS_(<16 x i8>, <16 x i8>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z8abs_diffDv16_hS_(<16 x i8> %a, <16 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z12_cl_abs_diffDv16_hS_(<16 x i8> %a, <16 x i8> %b)
  ret <16 x i8> %call
}


declare <16 x i8> @_Z11_cl_add_satDv16_hS_(<16 x i8>, <16 x i8>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z7add_satDv16_hS_(<16 x i8> %a, <16 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z11_cl_add_satDv16_hS_(<16 x i8> %a, <16 x i8> %b)
  ret <16 x i8> %call
}


declare <16 x i8> @_Z8_cl_haddDv16_hS_(<16 x i8>, <16 x i8>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z4haddDv16_hS_(<16 x i8> %a, <16 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z8_cl_haddDv16_hS_(<16 x i8> %a, <16 x i8> %b)
  ret <16 x i8> %call
}


declare <16 x i8> @_Z7_cl_maxDv16_hS_(<16 x i8>, <16 x i8>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z3maxDv16_hS_(<16 x i8> %a, <16 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z7_cl_maxDv16_hS_(<16 x i8> %a, <16 x i8> %b)
  ret <16 x i8> %call
}


declare <16 x i8> @_Z7_cl_minDv16_hS_(<16 x i8>, <16 x i8>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z3minDv16_hS_(<16 x i8> %a, <16 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z7_cl_minDv16_hS_(<16 x i8> %a, <16 x i8> %b)
  ret <16 x i8> %call
}


declare <16 x i8> @_Z10_cl_mul_hiDv16_hS_(<16 x i8>, <16 x i8>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z6mul_hiDv16_hS_(<16 x i8> %a, <16 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z10_cl_mul_hiDv16_hS_(<16 x i8> %a, <16 x i8> %b)
  ret <16 x i8> %call
}


declare <16 x i8> @_Z9_cl_rhaddDv16_hS_(<16 x i8>, <16 x i8>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z5rhaddDv16_hS_(<16 x i8> %a, <16 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z9_cl_rhaddDv16_hS_(<16 x i8> %a, <16 x i8> %b)
  ret <16 x i8> %call
}


declare <16 x i8> @_Z10_cl_rotateDv16_hS_(<16 x i8>, <16 x i8>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z6rotateDv16_hS_(<16 x i8> %a, <16 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z10_cl_rotateDv16_hS_(<16 x i8> %a, <16 x i8> %b)
  ret <16 x i8> %call
}


declare <16 x i8> @_Z11_cl_sub_satDv16_hS_(<16 x i8>, <16 x i8>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z7sub_satDv16_hS_(<16 x i8> %a, <16 x i8> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z11_cl_sub_satDv16_hS_(<16 x i8> %a, <16 x i8> %b)
  ret <16 x i8> %call
}


declare <16 x i8> @_Z13_cl_bitselectDv16_hS_S_(<16 x i8>, <16 x i8>, <16 x i8>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z9bitselectDv16_hS_S_(<16 x i8> %a, <16 x i8> %b, <16 x i8> %c) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z13_cl_bitselectDv16_hS_S_(<16 x i8> %a, <16 x i8> %b, <16 x i8> %c)
  ret <16 x i8> %call
}


declare <16 x i8> @_Z9_cl_clampDv16_hS_S_(<16 x i8>, <16 x i8>, <16 x i8>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z5clampDv16_hS_S_(<16 x i8> %a, <16 x i8> %b, <16 x i8> %c) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z9_cl_clampDv16_hS_S_(<16 x i8> %a, <16 x i8> %b, <16 x i8> %c)
  ret <16 x i8> %call
}


declare <16 x i8> @_Z10_cl_mad_hiDv16_hS_S_(<16 x i8>, <16 x i8>, <16 x i8>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z6mad_hiDv16_hS_S_(<16 x i8> %a, <16 x i8> %b, <16 x i8> %c) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z10_cl_mad_hiDv16_hS_S_(<16 x i8> %a, <16 x i8> %b, <16 x i8> %c)
  ret <16 x i8> %call
}


declare <16 x i8> @_Z11_cl_mad_satDv16_hS_S_(<16 x i8>, <16 x i8>, <16 x i8>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z7mad_satDv16_hS_S_(<16 x i8> %a, <16 x i8> %b, <16 x i8> %c) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z11_cl_mad_satDv16_hS_S_(<16 x i8> %a, <16 x i8> %b, <16 x i8> %c)
  ret <16 x i8> %call
}


declare i32 @_Z7_cl_anyDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func i32 @_Z3anyDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_anyDv16_h(<16 x i8> %a)
  ret i32 %call
}


declare i32 @_Z7_cl_allDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func i32 @_Z3allDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_allDv16_h(<16 x i8> %a)
  ret i32 %call
}


declare i16 @_Z7_cl_abss(i16) local_unnamed_addr #0

define spir_func  signext i16 @_Z3abss(i16 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z7_cl_abss(i16 %a)
  ret i16 %call
}


declare i16 @_Z7_cl_clzs(i16) local_unnamed_addr #0

define spir_func  signext i16 @_Z3clzs(i16 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z7_cl_clzs(i16 %a)
  ret i16 %call
}


declare i16 @_Z12_cl_popcounts(i16) local_unnamed_addr #0

define spir_func  signext i16 @_Z8popcounts(i16 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z12_cl_popcounts(i16 %a)
  ret i16 %call
}


declare i16 @_Z12_cl_abs_diffss(i16, i16) local_unnamed_addr #0

define spir_func  signext i16 @_Z8abs_diffss(i16 %a, i16 %b) local_unnamed_addr #0 {
  %call = tail call i16 @_Z12_cl_abs_diffss(i16 %a, i16 %b)
  ret i16 %call
}


declare i16 @_Z11_cl_add_satss(i16, i16) local_unnamed_addr #0

define spir_func  signext i16 @_Z7add_satss(i16 %a, i16 %b) local_unnamed_addr #0 {
  %call = tail call i16 @_Z11_cl_add_satss(i16 %a, i16 %b)
  ret i16 %call
}


declare i16 @_Z8_cl_haddss(i16, i16) local_unnamed_addr #0

define spir_func  signext i16 @_Z4haddss(i16 %a, i16 %b) local_unnamed_addr #0 {
  %call = tail call i16 @_Z8_cl_haddss(i16 %a, i16 %b)
  ret i16 %call
}


declare i16 @_Z7_cl_maxss(i16, i16) local_unnamed_addr #0

define spir_func  signext i16 @_Z3maxss(i16 %a, i16 %b) local_unnamed_addr #0 {
  %call = tail call i16 @_Z7_cl_maxss(i16 %a, i16 %b)
  ret i16 %call
}


declare i16 @_Z7_cl_minss(i16, i16) local_unnamed_addr #0

define spir_func  signext i16 @_Z3minss(i16 %a, i16 %b) local_unnamed_addr #0 {
  %call = tail call i16 @_Z7_cl_minss(i16 %a, i16 %b)
  ret i16 %call
}


declare i16 @_Z10_cl_mul_hiss(i16, i16) local_unnamed_addr #0

define spir_func  signext i16 @_Z6mul_hiss(i16 %a, i16 %b) local_unnamed_addr #0 {
  %call = tail call i16 @_Z10_cl_mul_hiss(i16 %a, i16 %b)
  ret i16 %call
}


declare i16 @_Z9_cl_rhaddss(i16, i16) local_unnamed_addr #0

define spir_func  signext i16 @_Z5rhaddss(i16 %a, i16 %b) local_unnamed_addr #0 {
  %call = tail call i16 @_Z9_cl_rhaddss(i16 %a, i16 %b)
  ret i16 %call
}


declare i16 @_Z10_cl_rotatess(i16, i16) local_unnamed_addr #0

define spir_func  signext i16 @_Z6rotatess(i16 %a, i16 %b) local_unnamed_addr #0 {
  %call = tail call i16 @_Z10_cl_rotatess(i16 %a, i16 %b)
  ret i16 %call
}


declare i16 @_Z11_cl_sub_satss(i16, i16) local_unnamed_addr #0

define spir_func  signext i16 @_Z7sub_satss(i16 %a, i16 %b) local_unnamed_addr #0 {
  %call = tail call i16 @_Z11_cl_sub_satss(i16 %a, i16 %b)
  ret i16 %call
}


declare i16 @_Z13_cl_bitselectsss(i16, i16, i16) local_unnamed_addr #0

define spir_func  signext i16 @_Z9bitselectsss(i16 %a, i16 %b, i16 %c) local_unnamed_addr #0 {
  %call = tail call i16 @_Z13_cl_bitselectsss(i16 %a, i16 %b, i16 %c)
  ret i16 %call
}


declare i16 @_Z9_cl_clampsss(i16, i16, i16) local_unnamed_addr #0

define spir_func  signext i16 @_Z5clampsss(i16 %a, i16 %b, i16 %c) local_unnamed_addr #0 {
  %call = tail call i16 @_Z9_cl_clampsss(i16 %a, i16 %b, i16 %c)
  ret i16 %call
}


declare i16 @_Z10_cl_mad_hisss(i16, i16, i16) local_unnamed_addr #0

define spir_func  signext i16 @_Z6mad_hisss(i16 %a, i16 %b, i16 %c) local_unnamed_addr #0 {
  %call = tail call i16 @_Z10_cl_mad_hisss(i16 %a, i16 %b, i16 %c)
  ret i16 %call
}


declare i16 @_Z11_cl_mad_satsss(i16, i16, i16) local_unnamed_addr #0

define spir_func  signext i16 @_Z7mad_satsss(i16 %a, i16 %b, i16 %c) local_unnamed_addr #0 {
  %call = tail call i16 @_Z11_cl_mad_satsss(i16 %a, i16 %b, i16 %c)
  ret i16 %call
}


declare i32 @_Z7_cl_anys(i16) local_unnamed_addr #0

define spir_func i32 @_Z3anys(i16 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_anys(i16 %a)
  ret i32 %call
}


declare i32 @_Z7_cl_alls(i16) local_unnamed_addr #0

define spir_func i32 @_Z3alls(i16 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_alls(i16 %a)
  ret i32 %call
}


declare <2 x i16> @_Z7_cl_absDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z3absDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z7_cl_absDv2_s(<2 x i16> %a)
  ret <2 x i16> %call
}


declare <2 x i16> @_Z7_cl_clzDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z3clzDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z7_cl_clzDv2_s(<2 x i16> %a)
  ret <2 x i16> %call
}


declare <2 x i16> @_Z12_cl_popcountDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z8popcountDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z12_cl_popcountDv2_s(<2 x i16> %a)
  ret <2 x i16> %call
}


declare <2 x i16> @_Z12_cl_abs_diffDv2_sS_(<2 x i16>, <2 x i16>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z8abs_diffDv2_sS_(<2 x i16> %a, <2 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z12_cl_abs_diffDv2_sS_(<2 x i16> %a, <2 x i16> %b)
  ret <2 x i16> %call
}


declare <2 x i16> @_Z11_cl_add_satDv2_sS_(<2 x i16>, <2 x i16>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z7add_satDv2_sS_(<2 x i16> %a, <2 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z11_cl_add_satDv2_sS_(<2 x i16> %a, <2 x i16> %b)
  ret <2 x i16> %call
}


declare <2 x i16> @_Z8_cl_haddDv2_sS_(<2 x i16>, <2 x i16>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z4haddDv2_sS_(<2 x i16> %a, <2 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z8_cl_haddDv2_sS_(<2 x i16> %a, <2 x i16> %b)
  ret <2 x i16> %call
}


declare <2 x i16> @_Z7_cl_maxDv2_sS_(<2 x i16>, <2 x i16>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z3maxDv2_sS_(<2 x i16> %a, <2 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z7_cl_maxDv2_sS_(<2 x i16> %a, <2 x i16> %b)
  ret <2 x i16> %call
}


declare <2 x i16> @_Z7_cl_minDv2_sS_(<2 x i16>, <2 x i16>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z3minDv2_sS_(<2 x i16> %a, <2 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z7_cl_minDv2_sS_(<2 x i16> %a, <2 x i16> %b)
  ret <2 x i16> %call
}


declare <2 x i16> @_Z10_cl_mul_hiDv2_sS_(<2 x i16>, <2 x i16>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z6mul_hiDv2_sS_(<2 x i16> %a, <2 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z10_cl_mul_hiDv2_sS_(<2 x i16> %a, <2 x i16> %b)
  ret <2 x i16> %call
}


declare <2 x i16> @_Z9_cl_rhaddDv2_sS_(<2 x i16>, <2 x i16>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z5rhaddDv2_sS_(<2 x i16> %a, <2 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z9_cl_rhaddDv2_sS_(<2 x i16> %a, <2 x i16> %b)
  ret <2 x i16> %call
}


declare <2 x i16> @_Z10_cl_rotateDv2_sS_(<2 x i16>, <2 x i16>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z6rotateDv2_sS_(<2 x i16> %a, <2 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z10_cl_rotateDv2_sS_(<2 x i16> %a, <2 x i16> %b)
  ret <2 x i16> %call
}


declare <2 x i16> @_Z11_cl_sub_satDv2_sS_(<2 x i16>, <2 x i16>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z7sub_satDv2_sS_(<2 x i16> %a, <2 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z11_cl_sub_satDv2_sS_(<2 x i16> %a, <2 x i16> %b)
  ret <2 x i16> %call
}


declare <2 x i16> @_Z13_cl_bitselectDv2_sS_S_(<2 x i16>, <2 x i16>, <2 x i16>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z9bitselectDv2_sS_S_(<2 x i16> %a, <2 x i16> %b, <2 x i16> %c) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z13_cl_bitselectDv2_sS_S_(<2 x i16> %a, <2 x i16> %b, <2 x i16> %c)
  ret <2 x i16> %call
}


declare <2 x i16> @_Z9_cl_clampDv2_sS_S_(<2 x i16>, <2 x i16>, <2 x i16>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z5clampDv2_sS_S_(<2 x i16> %a, <2 x i16> %b, <2 x i16> %c) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z9_cl_clampDv2_sS_S_(<2 x i16> %a, <2 x i16> %b, <2 x i16> %c)
  ret <2 x i16> %call
}


declare <2 x i16> @_Z10_cl_mad_hiDv2_sS_S_(<2 x i16>, <2 x i16>, <2 x i16>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z6mad_hiDv2_sS_S_(<2 x i16> %a, <2 x i16> %b, <2 x i16> %c) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z10_cl_mad_hiDv2_sS_S_(<2 x i16> %a, <2 x i16> %b, <2 x i16> %c)
  ret <2 x i16> %call
}


declare <2 x i16> @_Z11_cl_mad_satDv2_sS_S_(<2 x i16>, <2 x i16>, <2 x i16>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z7mad_satDv2_sS_S_(<2 x i16> %a, <2 x i16> %b, <2 x i16> %c) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z11_cl_mad_satDv2_sS_S_(<2 x i16> %a, <2 x i16> %b, <2 x i16> %c)
  ret <2 x i16> %call
}


declare i32 @_Z7_cl_anyDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func i32 @_Z3anyDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_anyDv2_s(<2 x i16> %a)
  ret i32 %call
}


declare i32 @_Z7_cl_allDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func i32 @_Z3allDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_allDv2_s(<2 x i16> %a)
  ret i32 %call
}


declare <3 x i16> @_Z7_cl_absDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z3absDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z7_cl_absDv3_s(<3 x i16> %a)
  ret <3 x i16> %call
}


declare <3 x i16> @_Z7_cl_clzDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z3clzDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z7_cl_clzDv3_s(<3 x i16> %a)
  ret <3 x i16> %call
}


declare <3 x i16> @_Z12_cl_popcountDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z8popcountDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z12_cl_popcountDv3_s(<3 x i16> %a)
  ret <3 x i16> %call
}


declare <3 x i16> @_Z12_cl_abs_diffDv3_sS_(<3 x i16>, <3 x i16>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z8abs_diffDv3_sS_(<3 x i16> %a, <3 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z12_cl_abs_diffDv3_sS_(<3 x i16> %a, <3 x i16> %b)
  ret <3 x i16> %call
}


declare <3 x i16> @_Z11_cl_add_satDv3_sS_(<3 x i16>, <3 x i16>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z7add_satDv3_sS_(<3 x i16> %a, <3 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z11_cl_add_satDv3_sS_(<3 x i16> %a, <3 x i16> %b)
  ret <3 x i16> %call
}


declare <3 x i16> @_Z8_cl_haddDv3_sS_(<3 x i16>, <3 x i16>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z4haddDv3_sS_(<3 x i16> %a, <3 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z8_cl_haddDv3_sS_(<3 x i16> %a, <3 x i16> %b)
  ret <3 x i16> %call
}


declare <3 x i16> @_Z7_cl_maxDv3_sS_(<3 x i16>, <3 x i16>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z3maxDv3_sS_(<3 x i16> %a, <3 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z7_cl_maxDv3_sS_(<3 x i16> %a, <3 x i16> %b)
  ret <3 x i16> %call
}


declare <3 x i16> @_Z7_cl_minDv3_sS_(<3 x i16>, <3 x i16>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z3minDv3_sS_(<3 x i16> %a, <3 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z7_cl_minDv3_sS_(<3 x i16> %a, <3 x i16> %b)
  ret <3 x i16> %call
}


declare <3 x i16> @_Z10_cl_mul_hiDv3_sS_(<3 x i16>, <3 x i16>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z6mul_hiDv3_sS_(<3 x i16> %a, <3 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z10_cl_mul_hiDv3_sS_(<3 x i16> %a, <3 x i16> %b)
  ret <3 x i16> %call
}


declare <3 x i16> @_Z9_cl_rhaddDv3_sS_(<3 x i16>, <3 x i16>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z5rhaddDv3_sS_(<3 x i16> %a, <3 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z9_cl_rhaddDv3_sS_(<3 x i16> %a, <3 x i16> %b)
  ret <3 x i16> %call
}


declare <3 x i16> @_Z10_cl_rotateDv3_sS_(<3 x i16>, <3 x i16>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z6rotateDv3_sS_(<3 x i16> %a, <3 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z10_cl_rotateDv3_sS_(<3 x i16> %a, <3 x i16> %b)
  ret <3 x i16> %call
}


declare <3 x i16> @_Z11_cl_sub_satDv3_sS_(<3 x i16>, <3 x i16>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z7sub_satDv3_sS_(<3 x i16> %a, <3 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z11_cl_sub_satDv3_sS_(<3 x i16> %a, <3 x i16> %b)
  ret <3 x i16> %call
}


declare <3 x i16> @_Z13_cl_bitselectDv3_sS_S_(<3 x i16>, <3 x i16>, <3 x i16>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z9bitselectDv3_sS_S_(<3 x i16> %a, <3 x i16> %b, <3 x i16> %c) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z13_cl_bitselectDv3_sS_S_(<3 x i16> %a, <3 x i16> %b, <3 x i16> %c)
  ret <3 x i16> %call
}


declare <3 x i16> @_Z9_cl_clampDv3_sS_S_(<3 x i16>, <3 x i16>, <3 x i16>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z5clampDv3_sS_S_(<3 x i16> %a, <3 x i16> %b, <3 x i16> %c) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z9_cl_clampDv3_sS_S_(<3 x i16> %a, <3 x i16> %b, <3 x i16> %c)
  ret <3 x i16> %call
}


declare <3 x i16> @_Z10_cl_mad_hiDv3_sS_S_(<3 x i16>, <3 x i16>, <3 x i16>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z6mad_hiDv3_sS_S_(<3 x i16> %a, <3 x i16> %b, <3 x i16> %c) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z10_cl_mad_hiDv3_sS_S_(<3 x i16> %a, <3 x i16> %b, <3 x i16> %c)
  ret <3 x i16> %call
}


declare <3 x i16> @_Z11_cl_mad_satDv3_sS_S_(<3 x i16>, <3 x i16>, <3 x i16>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z7mad_satDv3_sS_S_(<3 x i16> %a, <3 x i16> %b, <3 x i16> %c) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z11_cl_mad_satDv3_sS_S_(<3 x i16> %a, <3 x i16> %b, <3 x i16> %c)
  ret <3 x i16> %call
}


declare i32 @_Z7_cl_anyDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func i32 @_Z3anyDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_anyDv3_s(<3 x i16> %a)
  ret i32 %call
}


declare i32 @_Z7_cl_allDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func i32 @_Z3allDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_allDv3_s(<3 x i16> %a)
  ret i32 %call
}


declare <4 x i16> @_Z7_cl_absDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z3absDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z7_cl_absDv4_s(<4 x i16> %a)
  ret <4 x i16> %call
}


declare <4 x i16> @_Z7_cl_clzDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z3clzDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z7_cl_clzDv4_s(<4 x i16> %a)
  ret <4 x i16> %call
}


declare <4 x i16> @_Z12_cl_popcountDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z8popcountDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z12_cl_popcountDv4_s(<4 x i16> %a)
  ret <4 x i16> %call
}


declare <4 x i16> @_Z12_cl_abs_diffDv4_sS_(<4 x i16>, <4 x i16>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z8abs_diffDv4_sS_(<4 x i16> %a, <4 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z12_cl_abs_diffDv4_sS_(<4 x i16> %a, <4 x i16> %b)
  ret <4 x i16> %call
}


declare <4 x i16> @_Z11_cl_add_satDv4_sS_(<4 x i16>, <4 x i16>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z7add_satDv4_sS_(<4 x i16> %a, <4 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z11_cl_add_satDv4_sS_(<4 x i16> %a, <4 x i16> %b)
  ret <4 x i16> %call
}


declare <4 x i16> @_Z8_cl_haddDv4_sS_(<4 x i16>, <4 x i16>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z4haddDv4_sS_(<4 x i16> %a, <4 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z8_cl_haddDv4_sS_(<4 x i16> %a, <4 x i16> %b)
  ret <4 x i16> %call
}


declare <4 x i16> @_Z7_cl_maxDv4_sS_(<4 x i16>, <4 x i16>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z3maxDv4_sS_(<4 x i16> %a, <4 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z7_cl_maxDv4_sS_(<4 x i16> %a, <4 x i16> %b)
  ret <4 x i16> %call
}


declare <4 x i16> @_Z7_cl_minDv4_sS_(<4 x i16>, <4 x i16>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z3minDv4_sS_(<4 x i16> %a, <4 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z7_cl_minDv4_sS_(<4 x i16> %a, <4 x i16> %b)
  ret <4 x i16> %call
}


declare <4 x i16> @_Z10_cl_mul_hiDv4_sS_(<4 x i16>, <4 x i16>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z6mul_hiDv4_sS_(<4 x i16> %a, <4 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z10_cl_mul_hiDv4_sS_(<4 x i16> %a, <4 x i16> %b)
  ret <4 x i16> %call
}


declare <4 x i16> @_Z9_cl_rhaddDv4_sS_(<4 x i16>, <4 x i16>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z5rhaddDv4_sS_(<4 x i16> %a, <4 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z9_cl_rhaddDv4_sS_(<4 x i16> %a, <4 x i16> %b)
  ret <4 x i16> %call
}


declare <4 x i16> @_Z10_cl_rotateDv4_sS_(<4 x i16>, <4 x i16>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z6rotateDv4_sS_(<4 x i16> %a, <4 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z10_cl_rotateDv4_sS_(<4 x i16> %a, <4 x i16> %b)
  ret <4 x i16> %call
}


declare <4 x i16> @_Z11_cl_sub_satDv4_sS_(<4 x i16>, <4 x i16>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z7sub_satDv4_sS_(<4 x i16> %a, <4 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z11_cl_sub_satDv4_sS_(<4 x i16> %a, <4 x i16> %b)
  ret <4 x i16> %call
}


declare <4 x i16> @_Z13_cl_bitselectDv4_sS_S_(<4 x i16>, <4 x i16>, <4 x i16>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z9bitselectDv4_sS_S_(<4 x i16> %a, <4 x i16> %b, <4 x i16> %c) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z13_cl_bitselectDv4_sS_S_(<4 x i16> %a, <4 x i16> %b, <4 x i16> %c)
  ret <4 x i16> %call
}


declare <4 x i16> @_Z9_cl_clampDv4_sS_S_(<4 x i16>, <4 x i16>, <4 x i16>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z5clampDv4_sS_S_(<4 x i16> %a, <4 x i16> %b, <4 x i16> %c) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z9_cl_clampDv4_sS_S_(<4 x i16> %a, <4 x i16> %b, <4 x i16> %c)
  ret <4 x i16> %call
}


declare <4 x i16> @_Z10_cl_mad_hiDv4_sS_S_(<4 x i16>, <4 x i16>, <4 x i16>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z6mad_hiDv4_sS_S_(<4 x i16> %a, <4 x i16> %b, <4 x i16> %c) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z10_cl_mad_hiDv4_sS_S_(<4 x i16> %a, <4 x i16> %b, <4 x i16> %c)
  ret <4 x i16> %call
}


declare <4 x i16> @_Z11_cl_mad_satDv4_sS_S_(<4 x i16>, <4 x i16>, <4 x i16>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z7mad_satDv4_sS_S_(<4 x i16> %a, <4 x i16> %b, <4 x i16> %c) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z11_cl_mad_satDv4_sS_S_(<4 x i16> %a, <4 x i16> %b, <4 x i16> %c)
  ret <4 x i16> %call
}


declare i32 @_Z7_cl_anyDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func i32 @_Z3anyDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_anyDv4_s(<4 x i16> %a)
  ret i32 %call
}


declare i32 @_Z7_cl_allDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func i32 @_Z3allDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_allDv4_s(<4 x i16> %a)
  ret i32 %call
}


declare <8 x i16> @_Z7_cl_absDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z3absDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z7_cl_absDv8_s(<8 x i16> %a)
  ret <8 x i16> %call
}


declare <8 x i16> @_Z7_cl_clzDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z3clzDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z7_cl_clzDv8_s(<8 x i16> %a)
  ret <8 x i16> %call
}


declare <8 x i16> @_Z12_cl_popcountDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z8popcountDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z12_cl_popcountDv8_s(<8 x i16> %a)
  ret <8 x i16> %call
}


declare <8 x i16> @_Z12_cl_abs_diffDv8_sS_(<8 x i16>, <8 x i16>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z8abs_diffDv8_sS_(<8 x i16> %a, <8 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z12_cl_abs_diffDv8_sS_(<8 x i16> %a, <8 x i16> %b)
  ret <8 x i16> %call
}


declare <8 x i16> @_Z11_cl_add_satDv8_sS_(<8 x i16>, <8 x i16>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z7add_satDv8_sS_(<8 x i16> %a, <8 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z11_cl_add_satDv8_sS_(<8 x i16> %a, <8 x i16> %b)
  ret <8 x i16> %call
}


declare <8 x i16> @_Z8_cl_haddDv8_sS_(<8 x i16>, <8 x i16>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z4haddDv8_sS_(<8 x i16> %a, <8 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z8_cl_haddDv8_sS_(<8 x i16> %a, <8 x i16> %b)
  ret <8 x i16> %call
}


declare <8 x i16> @_Z7_cl_maxDv8_sS_(<8 x i16>, <8 x i16>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z3maxDv8_sS_(<8 x i16> %a, <8 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z7_cl_maxDv8_sS_(<8 x i16> %a, <8 x i16> %b)
  ret <8 x i16> %call
}


declare <8 x i16> @_Z7_cl_minDv8_sS_(<8 x i16>, <8 x i16>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z3minDv8_sS_(<8 x i16> %a, <8 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z7_cl_minDv8_sS_(<8 x i16> %a, <8 x i16> %b)
  ret <8 x i16> %call
}


declare <8 x i16> @_Z10_cl_mul_hiDv8_sS_(<8 x i16>, <8 x i16>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z6mul_hiDv8_sS_(<8 x i16> %a, <8 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z10_cl_mul_hiDv8_sS_(<8 x i16> %a, <8 x i16> %b)
  ret <8 x i16> %call
}


declare <8 x i16> @_Z9_cl_rhaddDv8_sS_(<8 x i16>, <8 x i16>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z5rhaddDv8_sS_(<8 x i16> %a, <8 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z9_cl_rhaddDv8_sS_(<8 x i16> %a, <8 x i16> %b)
  ret <8 x i16> %call
}


declare <8 x i16> @_Z10_cl_rotateDv8_sS_(<8 x i16>, <8 x i16>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z6rotateDv8_sS_(<8 x i16> %a, <8 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z10_cl_rotateDv8_sS_(<8 x i16> %a, <8 x i16> %b)
  ret <8 x i16> %call
}


declare <8 x i16> @_Z11_cl_sub_satDv8_sS_(<8 x i16>, <8 x i16>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z7sub_satDv8_sS_(<8 x i16> %a, <8 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z11_cl_sub_satDv8_sS_(<8 x i16> %a, <8 x i16> %b)
  ret <8 x i16> %call
}


declare <8 x i16> @_Z13_cl_bitselectDv8_sS_S_(<8 x i16>, <8 x i16>, <8 x i16>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z9bitselectDv8_sS_S_(<8 x i16> %a, <8 x i16> %b, <8 x i16> %c) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z13_cl_bitselectDv8_sS_S_(<8 x i16> %a, <8 x i16> %b, <8 x i16> %c)
  ret <8 x i16> %call
}


declare <8 x i16> @_Z9_cl_clampDv8_sS_S_(<8 x i16>, <8 x i16>, <8 x i16>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z5clampDv8_sS_S_(<8 x i16> %a, <8 x i16> %b, <8 x i16> %c) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z9_cl_clampDv8_sS_S_(<8 x i16> %a, <8 x i16> %b, <8 x i16> %c)
  ret <8 x i16> %call
}


declare <8 x i16> @_Z10_cl_mad_hiDv8_sS_S_(<8 x i16>, <8 x i16>, <8 x i16>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z6mad_hiDv8_sS_S_(<8 x i16> %a, <8 x i16> %b, <8 x i16> %c) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z10_cl_mad_hiDv8_sS_S_(<8 x i16> %a, <8 x i16> %b, <8 x i16> %c)
  ret <8 x i16> %call
}


declare <8 x i16> @_Z11_cl_mad_satDv8_sS_S_(<8 x i16>, <8 x i16>, <8 x i16>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z7mad_satDv8_sS_S_(<8 x i16> %a, <8 x i16> %b, <8 x i16> %c) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z11_cl_mad_satDv8_sS_S_(<8 x i16> %a, <8 x i16> %b, <8 x i16> %c)
  ret <8 x i16> %call
}


declare i32 @_Z7_cl_anyDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func i32 @_Z3anyDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_anyDv8_s(<8 x i16> %a)
  ret i32 %call
}


declare i32 @_Z7_cl_allDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func i32 @_Z3allDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_allDv8_s(<8 x i16> %a)
  ret i32 %call
}


declare <16 x i16> @_Z7_cl_absDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z3absDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z7_cl_absDv16_s(<16 x i16> %a)
  ret <16 x i16> %call
}


declare <16 x i16> @_Z7_cl_clzDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z3clzDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z7_cl_clzDv16_s(<16 x i16> %a)
  ret <16 x i16> %call
}


declare <16 x i16> @_Z12_cl_popcountDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z8popcountDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z12_cl_popcountDv16_s(<16 x i16> %a)
  ret <16 x i16> %call
}


declare <16 x i16> @_Z12_cl_abs_diffDv16_sS_(<16 x i16>, <16 x i16>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z8abs_diffDv16_sS_(<16 x i16> %a, <16 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z12_cl_abs_diffDv16_sS_(<16 x i16> %a, <16 x i16> %b)
  ret <16 x i16> %call
}


declare <16 x i16> @_Z11_cl_add_satDv16_sS_(<16 x i16>, <16 x i16>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z7add_satDv16_sS_(<16 x i16> %a, <16 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z11_cl_add_satDv16_sS_(<16 x i16> %a, <16 x i16> %b)
  ret <16 x i16> %call
}


declare <16 x i16> @_Z8_cl_haddDv16_sS_(<16 x i16>, <16 x i16>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z4haddDv16_sS_(<16 x i16> %a, <16 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z8_cl_haddDv16_sS_(<16 x i16> %a, <16 x i16> %b)
  ret <16 x i16> %call
}


declare <16 x i16> @_Z7_cl_maxDv16_sS_(<16 x i16>, <16 x i16>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z3maxDv16_sS_(<16 x i16> %a, <16 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z7_cl_maxDv16_sS_(<16 x i16> %a, <16 x i16> %b)
  ret <16 x i16> %call
}


declare <16 x i16> @_Z7_cl_minDv16_sS_(<16 x i16>, <16 x i16>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z3minDv16_sS_(<16 x i16> %a, <16 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z7_cl_minDv16_sS_(<16 x i16> %a, <16 x i16> %b)
  ret <16 x i16> %call
}


declare <16 x i16> @_Z10_cl_mul_hiDv16_sS_(<16 x i16>, <16 x i16>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z6mul_hiDv16_sS_(<16 x i16> %a, <16 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z10_cl_mul_hiDv16_sS_(<16 x i16> %a, <16 x i16> %b)
  ret <16 x i16> %call
}


declare <16 x i16> @_Z9_cl_rhaddDv16_sS_(<16 x i16>, <16 x i16>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z5rhaddDv16_sS_(<16 x i16> %a, <16 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z9_cl_rhaddDv16_sS_(<16 x i16> %a, <16 x i16> %b)
  ret <16 x i16> %call
}


declare <16 x i16> @_Z10_cl_rotateDv16_sS_(<16 x i16>, <16 x i16>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z6rotateDv16_sS_(<16 x i16> %a, <16 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z10_cl_rotateDv16_sS_(<16 x i16> %a, <16 x i16> %b)
  ret <16 x i16> %call
}


declare <16 x i16> @_Z11_cl_sub_satDv16_sS_(<16 x i16>, <16 x i16>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z7sub_satDv16_sS_(<16 x i16> %a, <16 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z11_cl_sub_satDv16_sS_(<16 x i16> %a, <16 x i16> %b)
  ret <16 x i16> %call
}


declare <16 x i16> @_Z13_cl_bitselectDv16_sS_S_(<16 x i16>, <16 x i16>, <16 x i16>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z9bitselectDv16_sS_S_(<16 x i16> %a, <16 x i16> %b, <16 x i16> %c) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z13_cl_bitselectDv16_sS_S_(<16 x i16> %a, <16 x i16> %b, <16 x i16> %c)
  ret <16 x i16> %call
}


declare <16 x i16> @_Z9_cl_clampDv16_sS_S_(<16 x i16>, <16 x i16>, <16 x i16>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z5clampDv16_sS_S_(<16 x i16> %a, <16 x i16> %b, <16 x i16> %c) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z9_cl_clampDv16_sS_S_(<16 x i16> %a, <16 x i16> %b, <16 x i16> %c)
  ret <16 x i16> %call
}


declare <16 x i16> @_Z10_cl_mad_hiDv16_sS_S_(<16 x i16>, <16 x i16>, <16 x i16>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z6mad_hiDv16_sS_S_(<16 x i16> %a, <16 x i16> %b, <16 x i16> %c) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z10_cl_mad_hiDv16_sS_S_(<16 x i16> %a, <16 x i16> %b, <16 x i16> %c)
  ret <16 x i16> %call
}


declare <16 x i16> @_Z11_cl_mad_satDv16_sS_S_(<16 x i16>, <16 x i16>, <16 x i16>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z7mad_satDv16_sS_S_(<16 x i16> %a, <16 x i16> %b, <16 x i16> %c) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z11_cl_mad_satDv16_sS_S_(<16 x i16> %a, <16 x i16> %b, <16 x i16> %c)
  ret <16 x i16> %call
}


declare i32 @_Z7_cl_anyDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func i32 @_Z3anyDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_anyDv16_s(<16 x i16> %a)
  ret i32 %call
}


declare i32 @_Z7_cl_allDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func i32 @_Z3allDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_allDv16_s(<16 x i16> %a)
  ret i32 %call
}


declare i16 @_Z7_cl_abst(i16) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z3abst(i16 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z7_cl_abst(i16 %a)
  ret i16 %call
}


declare i16 @_Z7_cl_clzt(i16) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z3clzt(i16 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z7_cl_clzt(i16 %a)
  ret i16 %call
}


declare i16 @_Z12_cl_popcountt(i16) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z8popcountt(i16 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z12_cl_popcountt(i16 %a)
  ret i16 %call
}


declare i16 @_Z12_cl_abs_difftt(i16, i16) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z8abs_difftt(i16 %a, i16 %b) local_unnamed_addr #0 {
  %call = tail call i16 @_Z12_cl_abs_difftt(i16 %a, i16 %b)
  ret i16 %call
}


declare i16 @_Z11_cl_add_sattt(i16, i16) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z7add_sattt(i16 %a, i16 %b) local_unnamed_addr #0 {
  %call = tail call i16 @_Z11_cl_add_sattt(i16 %a, i16 %b)
  ret i16 %call
}


declare i16 @_Z8_cl_haddtt(i16, i16) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z4haddtt(i16 %a, i16 %b) local_unnamed_addr #0 {
  %call = tail call i16 @_Z8_cl_haddtt(i16 %a, i16 %b)
  ret i16 %call
}


declare i16 @_Z7_cl_maxtt(i16, i16) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z3maxtt(i16 %a, i16 %b) local_unnamed_addr #0 {
  %call = tail call i16 @_Z7_cl_maxtt(i16 %a, i16 %b)
  ret i16 %call
}


declare i16 @_Z7_cl_mintt(i16, i16) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z3mintt(i16 %a, i16 %b) local_unnamed_addr #0 {
  %call = tail call i16 @_Z7_cl_mintt(i16 %a, i16 %b)
  ret i16 %call
}


declare i16 @_Z10_cl_mul_hitt(i16, i16) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z6mul_hitt(i16 %a, i16 %b) local_unnamed_addr #0 {
  %call = tail call i16 @_Z10_cl_mul_hitt(i16 %a, i16 %b)
  ret i16 %call
}


declare i16 @_Z9_cl_rhaddtt(i16, i16) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z5rhaddtt(i16 %a, i16 %b) local_unnamed_addr #0 {
  %call = tail call i16 @_Z9_cl_rhaddtt(i16 %a, i16 %b)
  ret i16 %call
}


declare i16 @_Z10_cl_rotatett(i16, i16) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z6rotatett(i16 %a, i16 %b) local_unnamed_addr #0 {
  %call = tail call i16 @_Z10_cl_rotatett(i16 %a, i16 %b)
  ret i16 %call
}


declare i16 @_Z11_cl_sub_sattt(i16, i16) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z7sub_sattt(i16 %a, i16 %b) local_unnamed_addr #0 {
  %call = tail call i16 @_Z11_cl_sub_sattt(i16 %a, i16 %b)
  ret i16 %call
}


declare i16 @_Z13_cl_bitselectttt(i16, i16, i16) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z9bitselectttt(i16 %a, i16 %b, i16 %c) local_unnamed_addr #0 {
  %call = tail call i16 @_Z13_cl_bitselectttt(i16 %a, i16 %b, i16 %c)
  ret i16 %call
}


declare i16 @_Z9_cl_clampttt(i16, i16, i16) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z5clampttt(i16 %a, i16 %b, i16 %c) local_unnamed_addr #0 {
  %call = tail call i16 @_Z9_cl_clampttt(i16 %a, i16 %b, i16 %c)
  ret i16 %call
}


declare i16 @_Z10_cl_mad_hittt(i16, i16, i16) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z6mad_hittt(i16 %a, i16 %b, i16 %c) local_unnamed_addr #0 {
  %call = tail call i16 @_Z10_cl_mad_hittt(i16 %a, i16 %b, i16 %c)
  ret i16 %call
}


declare i16 @_Z11_cl_mad_satttt(i16, i16, i16) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z7mad_satttt(i16 %a, i16 %b, i16 %c) local_unnamed_addr #0 {
  %call = tail call i16 @_Z11_cl_mad_satttt(i16 %a, i16 %b, i16 %c)
  ret i16 %call
}


declare i32 @_Z7_cl_anyt(i16) local_unnamed_addr #0

define spir_func i32 @_Z3anyt(i16 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_anyt(i16 %a)
  ret i32 %call
}


declare i32 @_Z7_cl_allt(i16) local_unnamed_addr #0

define spir_func i32 @_Z3allt(i16 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_allt(i16 %a)
  ret i32 %call
}


declare <2 x i16> @_Z7_cl_absDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z3absDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z7_cl_absDv2_t(<2 x i16> %a)
  ret <2 x i16> %call
}


declare <2 x i16> @_Z7_cl_clzDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z3clzDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z7_cl_clzDv2_t(<2 x i16> %a)
  ret <2 x i16> %call
}


declare <2 x i16> @_Z12_cl_popcountDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z8popcountDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z12_cl_popcountDv2_t(<2 x i16> %a)
  ret <2 x i16> %call
}


declare <2 x i16> @_Z12_cl_abs_diffDv2_tS_(<2 x i16>, <2 x i16>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z8abs_diffDv2_tS_(<2 x i16> %a, <2 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z12_cl_abs_diffDv2_tS_(<2 x i16> %a, <2 x i16> %b)
  ret <2 x i16> %call
}


declare <2 x i16> @_Z11_cl_add_satDv2_tS_(<2 x i16>, <2 x i16>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z7add_satDv2_tS_(<2 x i16> %a, <2 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z11_cl_add_satDv2_tS_(<2 x i16> %a, <2 x i16> %b)
  ret <2 x i16> %call
}


declare <2 x i16> @_Z8_cl_haddDv2_tS_(<2 x i16>, <2 x i16>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z4haddDv2_tS_(<2 x i16> %a, <2 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z8_cl_haddDv2_tS_(<2 x i16> %a, <2 x i16> %b)
  ret <2 x i16> %call
}


declare <2 x i16> @_Z7_cl_maxDv2_tS_(<2 x i16>, <2 x i16>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z3maxDv2_tS_(<2 x i16> %a, <2 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z7_cl_maxDv2_tS_(<2 x i16> %a, <2 x i16> %b)
  ret <2 x i16> %call
}


declare <2 x i16> @_Z7_cl_minDv2_tS_(<2 x i16>, <2 x i16>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z3minDv2_tS_(<2 x i16> %a, <2 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z7_cl_minDv2_tS_(<2 x i16> %a, <2 x i16> %b)
  ret <2 x i16> %call
}


declare <2 x i16> @_Z10_cl_mul_hiDv2_tS_(<2 x i16>, <2 x i16>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z6mul_hiDv2_tS_(<2 x i16> %a, <2 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z10_cl_mul_hiDv2_tS_(<2 x i16> %a, <2 x i16> %b)
  ret <2 x i16> %call
}


declare <2 x i16> @_Z9_cl_rhaddDv2_tS_(<2 x i16>, <2 x i16>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z5rhaddDv2_tS_(<2 x i16> %a, <2 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z9_cl_rhaddDv2_tS_(<2 x i16> %a, <2 x i16> %b)
  ret <2 x i16> %call
}


declare <2 x i16> @_Z10_cl_rotateDv2_tS_(<2 x i16>, <2 x i16>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z6rotateDv2_tS_(<2 x i16> %a, <2 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z10_cl_rotateDv2_tS_(<2 x i16> %a, <2 x i16> %b)
  ret <2 x i16> %call
}


declare <2 x i16> @_Z11_cl_sub_satDv2_tS_(<2 x i16>, <2 x i16>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z7sub_satDv2_tS_(<2 x i16> %a, <2 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z11_cl_sub_satDv2_tS_(<2 x i16> %a, <2 x i16> %b)
  ret <2 x i16> %call
}


declare <2 x i16> @_Z13_cl_bitselectDv2_tS_S_(<2 x i16>, <2 x i16>, <2 x i16>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z9bitselectDv2_tS_S_(<2 x i16> %a, <2 x i16> %b, <2 x i16> %c) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z13_cl_bitselectDv2_tS_S_(<2 x i16> %a, <2 x i16> %b, <2 x i16> %c)
  ret <2 x i16> %call
}


declare <2 x i16> @_Z9_cl_clampDv2_tS_S_(<2 x i16>, <2 x i16>, <2 x i16>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z5clampDv2_tS_S_(<2 x i16> %a, <2 x i16> %b, <2 x i16> %c) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z9_cl_clampDv2_tS_S_(<2 x i16> %a, <2 x i16> %b, <2 x i16> %c)
  ret <2 x i16> %call
}


declare <2 x i16> @_Z10_cl_mad_hiDv2_tS_S_(<2 x i16>, <2 x i16>, <2 x i16>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z6mad_hiDv2_tS_S_(<2 x i16> %a, <2 x i16> %b, <2 x i16> %c) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z10_cl_mad_hiDv2_tS_S_(<2 x i16> %a, <2 x i16> %b, <2 x i16> %c)
  ret <2 x i16> %call
}


declare <2 x i16> @_Z11_cl_mad_satDv2_tS_S_(<2 x i16>, <2 x i16>, <2 x i16>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z7mad_satDv2_tS_S_(<2 x i16> %a, <2 x i16> %b, <2 x i16> %c) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z11_cl_mad_satDv2_tS_S_(<2 x i16> %a, <2 x i16> %b, <2 x i16> %c)
  ret <2 x i16> %call
}


declare i32 @_Z7_cl_anyDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func i32 @_Z3anyDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_anyDv2_t(<2 x i16> %a)
  ret i32 %call
}


declare i32 @_Z7_cl_allDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func i32 @_Z3allDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_allDv2_t(<2 x i16> %a)
  ret i32 %call
}


declare <3 x i16> @_Z7_cl_absDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z3absDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z7_cl_absDv3_t(<3 x i16> %a)
  ret <3 x i16> %call
}


declare <3 x i16> @_Z7_cl_clzDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z3clzDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z7_cl_clzDv3_t(<3 x i16> %a)
  ret <3 x i16> %call
}


declare <3 x i16> @_Z12_cl_popcountDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z8popcountDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z12_cl_popcountDv3_t(<3 x i16> %a)
  ret <3 x i16> %call
}


declare <3 x i16> @_Z12_cl_abs_diffDv3_tS_(<3 x i16>, <3 x i16>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z8abs_diffDv3_tS_(<3 x i16> %a, <3 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z12_cl_abs_diffDv3_tS_(<3 x i16> %a, <3 x i16> %b)
  ret <3 x i16> %call
}


declare <3 x i16> @_Z11_cl_add_satDv3_tS_(<3 x i16>, <3 x i16>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z7add_satDv3_tS_(<3 x i16> %a, <3 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z11_cl_add_satDv3_tS_(<3 x i16> %a, <3 x i16> %b)
  ret <3 x i16> %call
}


declare <3 x i16> @_Z8_cl_haddDv3_tS_(<3 x i16>, <3 x i16>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z4haddDv3_tS_(<3 x i16> %a, <3 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z8_cl_haddDv3_tS_(<3 x i16> %a, <3 x i16> %b)
  ret <3 x i16> %call
}


declare <3 x i16> @_Z7_cl_maxDv3_tS_(<3 x i16>, <3 x i16>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z3maxDv3_tS_(<3 x i16> %a, <3 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z7_cl_maxDv3_tS_(<3 x i16> %a, <3 x i16> %b)
  ret <3 x i16> %call
}


declare <3 x i16> @_Z7_cl_minDv3_tS_(<3 x i16>, <3 x i16>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z3minDv3_tS_(<3 x i16> %a, <3 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z7_cl_minDv3_tS_(<3 x i16> %a, <3 x i16> %b)
  ret <3 x i16> %call
}


declare <3 x i16> @_Z10_cl_mul_hiDv3_tS_(<3 x i16>, <3 x i16>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z6mul_hiDv3_tS_(<3 x i16> %a, <3 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z10_cl_mul_hiDv3_tS_(<3 x i16> %a, <3 x i16> %b)
  ret <3 x i16> %call
}


declare <3 x i16> @_Z9_cl_rhaddDv3_tS_(<3 x i16>, <3 x i16>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z5rhaddDv3_tS_(<3 x i16> %a, <3 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z9_cl_rhaddDv3_tS_(<3 x i16> %a, <3 x i16> %b)
  ret <3 x i16> %call
}


declare <3 x i16> @_Z10_cl_rotateDv3_tS_(<3 x i16>, <3 x i16>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z6rotateDv3_tS_(<3 x i16> %a, <3 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z10_cl_rotateDv3_tS_(<3 x i16> %a, <3 x i16> %b)
  ret <3 x i16> %call
}


declare <3 x i16> @_Z11_cl_sub_satDv3_tS_(<3 x i16>, <3 x i16>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z7sub_satDv3_tS_(<3 x i16> %a, <3 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z11_cl_sub_satDv3_tS_(<3 x i16> %a, <3 x i16> %b)
  ret <3 x i16> %call
}


declare <3 x i16> @_Z13_cl_bitselectDv3_tS_S_(<3 x i16>, <3 x i16>, <3 x i16>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z9bitselectDv3_tS_S_(<3 x i16> %a, <3 x i16> %b, <3 x i16> %c) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z13_cl_bitselectDv3_tS_S_(<3 x i16> %a, <3 x i16> %b, <3 x i16> %c)
  ret <3 x i16> %call
}


declare <3 x i16> @_Z9_cl_clampDv3_tS_S_(<3 x i16>, <3 x i16>, <3 x i16>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z5clampDv3_tS_S_(<3 x i16> %a, <3 x i16> %b, <3 x i16> %c) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z9_cl_clampDv3_tS_S_(<3 x i16> %a, <3 x i16> %b, <3 x i16> %c)
  ret <3 x i16> %call
}


declare <3 x i16> @_Z10_cl_mad_hiDv3_tS_S_(<3 x i16>, <3 x i16>, <3 x i16>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z6mad_hiDv3_tS_S_(<3 x i16> %a, <3 x i16> %b, <3 x i16> %c) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z10_cl_mad_hiDv3_tS_S_(<3 x i16> %a, <3 x i16> %b, <3 x i16> %c)
  ret <3 x i16> %call
}


declare <3 x i16> @_Z11_cl_mad_satDv3_tS_S_(<3 x i16>, <3 x i16>, <3 x i16>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z7mad_satDv3_tS_S_(<3 x i16> %a, <3 x i16> %b, <3 x i16> %c) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z11_cl_mad_satDv3_tS_S_(<3 x i16> %a, <3 x i16> %b, <3 x i16> %c)
  ret <3 x i16> %call
}


declare i32 @_Z7_cl_anyDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func i32 @_Z3anyDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_anyDv3_t(<3 x i16> %a)
  ret i32 %call
}


declare i32 @_Z7_cl_allDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func i32 @_Z3allDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_allDv3_t(<3 x i16> %a)
  ret i32 %call
}


declare <4 x i16> @_Z7_cl_absDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z3absDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z7_cl_absDv4_t(<4 x i16> %a)
  ret <4 x i16> %call
}


declare <4 x i16> @_Z7_cl_clzDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z3clzDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z7_cl_clzDv4_t(<4 x i16> %a)
  ret <4 x i16> %call
}


declare <4 x i16> @_Z12_cl_popcountDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z8popcountDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z12_cl_popcountDv4_t(<4 x i16> %a)
  ret <4 x i16> %call
}


declare <4 x i16> @_Z12_cl_abs_diffDv4_tS_(<4 x i16>, <4 x i16>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z8abs_diffDv4_tS_(<4 x i16> %a, <4 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z12_cl_abs_diffDv4_tS_(<4 x i16> %a, <4 x i16> %b)
  ret <4 x i16> %call
}


declare <4 x i16> @_Z11_cl_add_satDv4_tS_(<4 x i16>, <4 x i16>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z7add_satDv4_tS_(<4 x i16> %a, <4 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z11_cl_add_satDv4_tS_(<4 x i16> %a, <4 x i16> %b)
  ret <4 x i16> %call
}


declare <4 x i16> @_Z8_cl_haddDv4_tS_(<4 x i16>, <4 x i16>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z4haddDv4_tS_(<4 x i16> %a, <4 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z8_cl_haddDv4_tS_(<4 x i16> %a, <4 x i16> %b)
  ret <4 x i16> %call
}


declare <4 x i16> @_Z7_cl_maxDv4_tS_(<4 x i16>, <4 x i16>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z3maxDv4_tS_(<4 x i16> %a, <4 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z7_cl_maxDv4_tS_(<4 x i16> %a, <4 x i16> %b)
  ret <4 x i16> %call
}


declare <4 x i16> @_Z7_cl_minDv4_tS_(<4 x i16>, <4 x i16>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z3minDv4_tS_(<4 x i16> %a, <4 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z7_cl_minDv4_tS_(<4 x i16> %a, <4 x i16> %b)
  ret <4 x i16> %call
}


declare <4 x i16> @_Z10_cl_mul_hiDv4_tS_(<4 x i16>, <4 x i16>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z6mul_hiDv4_tS_(<4 x i16> %a, <4 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z10_cl_mul_hiDv4_tS_(<4 x i16> %a, <4 x i16> %b)
  ret <4 x i16> %call
}


declare <4 x i16> @_Z9_cl_rhaddDv4_tS_(<4 x i16>, <4 x i16>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z5rhaddDv4_tS_(<4 x i16> %a, <4 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z9_cl_rhaddDv4_tS_(<4 x i16> %a, <4 x i16> %b)
  ret <4 x i16> %call
}


declare <4 x i16> @_Z10_cl_rotateDv4_tS_(<4 x i16>, <4 x i16>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z6rotateDv4_tS_(<4 x i16> %a, <4 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z10_cl_rotateDv4_tS_(<4 x i16> %a, <4 x i16> %b)
  ret <4 x i16> %call
}


declare <4 x i16> @_Z11_cl_sub_satDv4_tS_(<4 x i16>, <4 x i16>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z7sub_satDv4_tS_(<4 x i16> %a, <4 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z11_cl_sub_satDv4_tS_(<4 x i16> %a, <4 x i16> %b)
  ret <4 x i16> %call
}


declare <4 x i16> @_Z13_cl_bitselectDv4_tS_S_(<4 x i16>, <4 x i16>, <4 x i16>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z9bitselectDv4_tS_S_(<4 x i16> %a, <4 x i16> %b, <4 x i16> %c) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z13_cl_bitselectDv4_tS_S_(<4 x i16> %a, <4 x i16> %b, <4 x i16> %c)
  ret <4 x i16> %call
}


declare <4 x i16> @_Z9_cl_clampDv4_tS_S_(<4 x i16>, <4 x i16>, <4 x i16>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z5clampDv4_tS_S_(<4 x i16> %a, <4 x i16> %b, <4 x i16> %c) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z9_cl_clampDv4_tS_S_(<4 x i16> %a, <4 x i16> %b, <4 x i16> %c)
  ret <4 x i16> %call
}


declare <4 x i16> @_Z10_cl_mad_hiDv4_tS_S_(<4 x i16>, <4 x i16>, <4 x i16>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z6mad_hiDv4_tS_S_(<4 x i16> %a, <4 x i16> %b, <4 x i16> %c) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z10_cl_mad_hiDv4_tS_S_(<4 x i16> %a, <4 x i16> %b, <4 x i16> %c)
  ret <4 x i16> %call
}


declare <4 x i16> @_Z11_cl_mad_satDv4_tS_S_(<4 x i16>, <4 x i16>, <4 x i16>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z7mad_satDv4_tS_S_(<4 x i16> %a, <4 x i16> %b, <4 x i16> %c) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z11_cl_mad_satDv4_tS_S_(<4 x i16> %a, <4 x i16> %b, <4 x i16> %c)
  ret <4 x i16> %call
}


declare i32 @_Z7_cl_anyDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func i32 @_Z3anyDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_anyDv4_t(<4 x i16> %a)
  ret i32 %call
}


declare i32 @_Z7_cl_allDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func i32 @_Z3allDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_allDv4_t(<4 x i16> %a)
  ret i32 %call
}


declare <8 x i16> @_Z7_cl_absDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z3absDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z7_cl_absDv8_t(<8 x i16> %a)
  ret <8 x i16> %call
}


declare <8 x i16> @_Z7_cl_clzDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z3clzDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z7_cl_clzDv8_t(<8 x i16> %a)
  ret <8 x i16> %call
}


declare <8 x i16> @_Z12_cl_popcountDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z8popcountDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z12_cl_popcountDv8_t(<8 x i16> %a)
  ret <8 x i16> %call
}


declare <8 x i16> @_Z12_cl_abs_diffDv8_tS_(<8 x i16>, <8 x i16>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z8abs_diffDv8_tS_(<8 x i16> %a, <8 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z12_cl_abs_diffDv8_tS_(<8 x i16> %a, <8 x i16> %b)
  ret <8 x i16> %call
}


declare <8 x i16> @_Z11_cl_add_satDv8_tS_(<8 x i16>, <8 x i16>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z7add_satDv8_tS_(<8 x i16> %a, <8 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z11_cl_add_satDv8_tS_(<8 x i16> %a, <8 x i16> %b)
  ret <8 x i16> %call
}


declare <8 x i16> @_Z8_cl_haddDv8_tS_(<8 x i16>, <8 x i16>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z4haddDv8_tS_(<8 x i16> %a, <8 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z8_cl_haddDv8_tS_(<8 x i16> %a, <8 x i16> %b)
  ret <8 x i16> %call
}


declare <8 x i16> @_Z7_cl_maxDv8_tS_(<8 x i16>, <8 x i16>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z3maxDv8_tS_(<8 x i16> %a, <8 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z7_cl_maxDv8_tS_(<8 x i16> %a, <8 x i16> %b)
  ret <8 x i16> %call
}


declare <8 x i16> @_Z7_cl_minDv8_tS_(<8 x i16>, <8 x i16>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z3minDv8_tS_(<8 x i16> %a, <8 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z7_cl_minDv8_tS_(<8 x i16> %a, <8 x i16> %b)
  ret <8 x i16> %call
}


declare <8 x i16> @_Z10_cl_mul_hiDv8_tS_(<8 x i16>, <8 x i16>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z6mul_hiDv8_tS_(<8 x i16> %a, <8 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z10_cl_mul_hiDv8_tS_(<8 x i16> %a, <8 x i16> %b)
  ret <8 x i16> %call
}


declare <8 x i16> @_Z9_cl_rhaddDv8_tS_(<8 x i16>, <8 x i16>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z5rhaddDv8_tS_(<8 x i16> %a, <8 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z9_cl_rhaddDv8_tS_(<8 x i16> %a, <8 x i16> %b)
  ret <8 x i16> %call
}


declare <8 x i16> @_Z10_cl_rotateDv8_tS_(<8 x i16>, <8 x i16>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z6rotateDv8_tS_(<8 x i16> %a, <8 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z10_cl_rotateDv8_tS_(<8 x i16> %a, <8 x i16> %b)
  ret <8 x i16> %call
}


declare <8 x i16> @_Z11_cl_sub_satDv8_tS_(<8 x i16>, <8 x i16>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z7sub_satDv8_tS_(<8 x i16> %a, <8 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z11_cl_sub_satDv8_tS_(<8 x i16> %a, <8 x i16> %b)
  ret <8 x i16> %call
}


declare <8 x i16> @_Z13_cl_bitselectDv8_tS_S_(<8 x i16>, <8 x i16>, <8 x i16>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z9bitselectDv8_tS_S_(<8 x i16> %a, <8 x i16> %b, <8 x i16> %c) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z13_cl_bitselectDv8_tS_S_(<8 x i16> %a, <8 x i16> %b, <8 x i16> %c)
  ret <8 x i16> %call
}


declare <8 x i16> @_Z9_cl_clampDv8_tS_S_(<8 x i16>, <8 x i16>, <8 x i16>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z5clampDv8_tS_S_(<8 x i16> %a, <8 x i16> %b, <8 x i16> %c) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z9_cl_clampDv8_tS_S_(<8 x i16> %a, <8 x i16> %b, <8 x i16> %c)
  ret <8 x i16> %call
}


declare <8 x i16> @_Z10_cl_mad_hiDv8_tS_S_(<8 x i16>, <8 x i16>, <8 x i16>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z6mad_hiDv8_tS_S_(<8 x i16> %a, <8 x i16> %b, <8 x i16> %c) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z10_cl_mad_hiDv8_tS_S_(<8 x i16> %a, <8 x i16> %b, <8 x i16> %c)
  ret <8 x i16> %call
}


declare <8 x i16> @_Z11_cl_mad_satDv8_tS_S_(<8 x i16>, <8 x i16>, <8 x i16>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z7mad_satDv8_tS_S_(<8 x i16> %a, <8 x i16> %b, <8 x i16> %c) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z11_cl_mad_satDv8_tS_S_(<8 x i16> %a, <8 x i16> %b, <8 x i16> %c)
  ret <8 x i16> %call
}


declare i32 @_Z7_cl_anyDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func i32 @_Z3anyDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_anyDv8_t(<8 x i16> %a)
  ret i32 %call
}


declare i32 @_Z7_cl_allDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func i32 @_Z3allDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_allDv8_t(<8 x i16> %a)
  ret i32 %call
}


declare <16 x i16> @_Z7_cl_absDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z3absDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z7_cl_absDv16_t(<16 x i16> %a)
  ret <16 x i16> %call
}


declare <16 x i16> @_Z7_cl_clzDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z3clzDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z7_cl_clzDv16_t(<16 x i16> %a)
  ret <16 x i16> %call
}


declare <16 x i16> @_Z12_cl_popcountDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z8popcountDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z12_cl_popcountDv16_t(<16 x i16> %a)
  ret <16 x i16> %call
}


declare <16 x i16> @_Z12_cl_abs_diffDv16_tS_(<16 x i16>, <16 x i16>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z8abs_diffDv16_tS_(<16 x i16> %a, <16 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z12_cl_abs_diffDv16_tS_(<16 x i16> %a, <16 x i16> %b)
  ret <16 x i16> %call
}


declare <16 x i16> @_Z11_cl_add_satDv16_tS_(<16 x i16>, <16 x i16>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z7add_satDv16_tS_(<16 x i16> %a, <16 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z11_cl_add_satDv16_tS_(<16 x i16> %a, <16 x i16> %b)
  ret <16 x i16> %call
}


declare <16 x i16> @_Z8_cl_haddDv16_tS_(<16 x i16>, <16 x i16>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z4haddDv16_tS_(<16 x i16> %a, <16 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z8_cl_haddDv16_tS_(<16 x i16> %a, <16 x i16> %b)
  ret <16 x i16> %call
}


declare <16 x i16> @_Z7_cl_maxDv16_tS_(<16 x i16>, <16 x i16>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z3maxDv16_tS_(<16 x i16> %a, <16 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z7_cl_maxDv16_tS_(<16 x i16> %a, <16 x i16> %b)
  ret <16 x i16> %call
}


declare <16 x i16> @_Z7_cl_minDv16_tS_(<16 x i16>, <16 x i16>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z3minDv16_tS_(<16 x i16> %a, <16 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z7_cl_minDv16_tS_(<16 x i16> %a, <16 x i16> %b)
  ret <16 x i16> %call
}


declare <16 x i16> @_Z10_cl_mul_hiDv16_tS_(<16 x i16>, <16 x i16>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z6mul_hiDv16_tS_(<16 x i16> %a, <16 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z10_cl_mul_hiDv16_tS_(<16 x i16> %a, <16 x i16> %b)
  ret <16 x i16> %call
}


declare <16 x i16> @_Z9_cl_rhaddDv16_tS_(<16 x i16>, <16 x i16>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z5rhaddDv16_tS_(<16 x i16> %a, <16 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z9_cl_rhaddDv16_tS_(<16 x i16> %a, <16 x i16> %b)
  ret <16 x i16> %call
}


declare <16 x i16> @_Z10_cl_rotateDv16_tS_(<16 x i16>, <16 x i16>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z6rotateDv16_tS_(<16 x i16> %a, <16 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z10_cl_rotateDv16_tS_(<16 x i16> %a, <16 x i16> %b)
  ret <16 x i16> %call
}


declare <16 x i16> @_Z11_cl_sub_satDv16_tS_(<16 x i16>, <16 x i16>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z7sub_satDv16_tS_(<16 x i16> %a, <16 x i16> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z11_cl_sub_satDv16_tS_(<16 x i16> %a, <16 x i16> %b)
  ret <16 x i16> %call
}


declare <16 x i16> @_Z13_cl_bitselectDv16_tS_S_(<16 x i16>, <16 x i16>, <16 x i16>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z9bitselectDv16_tS_S_(<16 x i16> %a, <16 x i16> %b, <16 x i16> %c) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z13_cl_bitselectDv16_tS_S_(<16 x i16> %a, <16 x i16> %b, <16 x i16> %c)
  ret <16 x i16> %call
}


declare <16 x i16> @_Z9_cl_clampDv16_tS_S_(<16 x i16>, <16 x i16>, <16 x i16>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z5clampDv16_tS_S_(<16 x i16> %a, <16 x i16> %b, <16 x i16> %c) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z9_cl_clampDv16_tS_S_(<16 x i16> %a, <16 x i16> %b, <16 x i16> %c)
  ret <16 x i16> %call
}


declare <16 x i16> @_Z10_cl_mad_hiDv16_tS_S_(<16 x i16>, <16 x i16>, <16 x i16>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z6mad_hiDv16_tS_S_(<16 x i16> %a, <16 x i16> %b, <16 x i16> %c) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z10_cl_mad_hiDv16_tS_S_(<16 x i16> %a, <16 x i16> %b, <16 x i16> %c)
  ret <16 x i16> %call
}


declare <16 x i16> @_Z11_cl_mad_satDv16_tS_S_(<16 x i16>, <16 x i16>, <16 x i16>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z7mad_satDv16_tS_S_(<16 x i16> %a, <16 x i16> %b, <16 x i16> %c) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z11_cl_mad_satDv16_tS_S_(<16 x i16> %a, <16 x i16> %b, <16 x i16> %c)
  ret <16 x i16> %call
}


declare i32 @_Z7_cl_anyDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func i32 @_Z3anyDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_anyDv16_t(<16 x i16> %a)
  ret i32 %call
}


declare i32 @_Z7_cl_allDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func i32 @_Z3allDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_allDv16_t(<16 x i16> %a)
  ret i32 %call
}


declare i32 @_Z7_cl_absi(i32) local_unnamed_addr #0

define spir_func i32 @_Z3absi(i32 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_absi(i32 %a)
  ret i32 %call
}


declare i32 @_Z7_cl_clzi(i32) local_unnamed_addr #0

define spir_func i32 @_Z3clzi(i32 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_clzi(i32 %a)
  ret i32 %call
}


declare i32 @_Z12_cl_popcounti(i32) local_unnamed_addr #0

define spir_func i32 @_Z8popcounti(i32 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z12_cl_popcounti(i32 %a)
  ret i32 %call
}


declare i32 @_Z12_cl_abs_diffii(i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z8abs_diffii(i32 %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z12_cl_abs_diffii(i32 %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z11_cl_add_satii(i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z7add_satii(i32 %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z11_cl_add_satii(i32 %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z8_cl_haddii(i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z4haddii(i32 %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z8_cl_haddii(i32 %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z7_cl_maxii(i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z3maxii(i32 %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_maxii(i32 %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z7_cl_minii(i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z3minii(i32 %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_minii(i32 %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z10_cl_mul_hiii(i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z6mul_hiii(i32 %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z10_cl_mul_hiii(i32 %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z9_cl_rhaddii(i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z5rhaddii(i32 %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z9_cl_rhaddii(i32 %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z10_cl_rotateii(i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z6rotateii(i32 %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z10_cl_rotateii(i32 %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z11_cl_sub_satii(i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z7sub_satii(i32 %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z11_cl_sub_satii(i32 %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z13_cl_bitselectiii(i32, i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z9bitselectiii(i32 %a, i32 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i32 @_Z13_cl_bitselectiii(i32 %a, i32 %b, i32 %c)
  ret i32 %call
}


declare i32 @_Z9_cl_clampiii(i32, i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z5clampiii(i32 %a, i32 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i32 @_Z9_cl_clampiii(i32 %a, i32 %b, i32 %c)
  ret i32 %call
}


declare i32 @_Z10_cl_mad_hiiii(i32, i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z6mad_hiiii(i32 %a, i32 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i32 @_Z10_cl_mad_hiiii(i32 %a, i32 %b, i32 %c)
  ret i32 %call
}


declare i32 @_Z11_cl_mad_satiii(i32, i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z7mad_satiii(i32 %a, i32 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i32 @_Z11_cl_mad_satiii(i32 %a, i32 %b, i32 %c)
  ret i32 %call
}


declare i32 @_Z7_cl_anyi(i32) local_unnamed_addr #0

define spir_func i32 @_Z3anyi(i32 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_anyi(i32 %a)
  ret i32 %call
}


declare i32 @_Z7_cl_alli(i32) local_unnamed_addr #0

define spir_func i32 @_Z3alli(i32 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_alli(i32 %a)
  ret i32 %call
}


declare <2 x i32> @_Z7_cl_absDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z3absDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z7_cl_absDv2_i(<2 x i32> %a)
  ret <2 x i32> %call
}


declare <2 x i32> @_Z7_cl_clzDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z3clzDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z7_cl_clzDv2_i(<2 x i32> %a)
  ret <2 x i32> %call
}


declare <2 x i32> @_Z12_cl_popcountDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z8popcountDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z12_cl_popcountDv2_i(<2 x i32> %a)
  ret <2 x i32> %call
}


declare <2 x i32> @_Z12_cl_abs_diffDv2_iS_(<2 x i32>, <2 x i32>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z8abs_diffDv2_iS_(<2 x i32> %a, <2 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z12_cl_abs_diffDv2_iS_(<2 x i32> %a, <2 x i32> %b)
  ret <2 x i32> %call
}


declare <2 x i32> @_Z11_cl_add_satDv2_iS_(<2 x i32>, <2 x i32>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z7add_satDv2_iS_(<2 x i32> %a, <2 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z11_cl_add_satDv2_iS_(<2 x i32> %a, <2 x i32> %b)
  ret <2 x i32> %call
}


declare <2 x i32> @_Z8_cl_haddDv2_iS_(<2 x i32>, <2 x i32>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z4haddDv2_iS_(<2 x i32> %a, <2 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z8_cl_haddDv2_iS_(<2 x i32> %a, <2 x i32> %b)
  ret <2 x i32> %call
}


declare <2 x i32> @_Z7_cl_maxDv2_iS_(<2 x i32>, <2 x i32>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z3maxDv2_iS_(<2 x i32> %a, <2 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z7_cl_maxDv2_iS_(<2 x i32> %a, <2 x i32> %b)
  ret <2 x i32> %call
}


declare <2 x i32> @_Z7_cl_minDv2_iS_(<2 x i32>, <2 x i32>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z3minDv2_iS_(<2 x i32> %a, <2 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z7_cl_minDv2_iS_(<2 x i32> %a, <2 x i32> %b)
  ret <2 x i32> %call
}


declare <2 x i32> @_Z10_cl_mul_hiDv2_iS_(<2 x i32>, <2 x i32>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z6mul_hiDv2_iS_(<2 x i32> %a, <2 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z10_cl_mul_hiDv2_iS_(<2 x i32> %a, <2 x i32> %b)
  ret <2 x i32> %call
}


declare <2 x i32> @_Z9_cl_rhaddDv2_iS_(<2 x i32>, <2 x i32>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z5rhaddDv2_iS_(<2 x i32> %a, <2 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z9_cl_rhaddDv2_iS_(<2 x i32> %a, <2 x i32> %b)
  ret <2 x i32> %call
}


declare <2 x i32> @_Z10_cl_rotateDv2_iS_(<2 x i32>, <2 x i32>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z6rotateDv2_iS_(<2 x i32> %a, <2 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z10_cl_rotateDv2_iS_(<2 x i32> %a, <2 x i32> %b)
  ret <2 x i32> %call
}


declare <2 x i32> @_Z11_cl_sub_satDv2_iS_(<2 x i32>, <2 x i32>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z7sub_satDv2_iS_(<2 x i32> %a, <2 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z11_cl_sub_satDv2_iS_(<2 x i32> %a, <2 x i32> %b)
  ret <2 x i32> %call
}


declare <2 x i32> @_Z13_cl_bitselectDv2_iS_S_(<2 x i32>, <2 x i32>, <2 x i32>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z9bitselectDv2_iS_S_(<2 x i32> %a, <2 x i32> %b, <2 x i32> %c) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z13_cl_bitselectDv2_iS_S_(<2 x i32> %a, <2 x i32> %b, <2 x i32> %c)
  ret <2 x i32> %call
}


declare <2 x i32> @_Z9_cl_clampDv2_iS_S_(<2 x i32>, <2 x i32>, <2 x i32>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z5clampDv2_iS_S_(<2 x i32> %a, <2 x i32> %b, <2 x i32> %c) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z9_cl_clampDv2_iS_S_(<2 x i32> %a, <2 x i32> %b, <2 x i32> %c)
  ret <2 x i32> %call
}


declare <2 x i32> @_Z10_cl_mad_hiDv2_iS_S_(<2 x i32>, <2 x i32>, <2 x i32>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z6mad_hiDv2_iS_S_(<2 x i32> %a, <2 x i32> %b, <2 x i32> %c) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z10_cl_mad_hiDv2_iS_S_(<2 x i32> %a, <2 x i32> %b, <2 x i32> %c)
  ret <2 x i32> %call
}


declare <2 x i32> @_Z11_cl_mad_satDv2_iS_S_(<2 x i32>, <2 x i32>, <2 x i32>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z7mad_satDv2_iS_S_(<2 x i32> %a, <2 x i32> %b, <2 x i32> %c) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z11_cl_mad_satDv2_iS_S_(<2 x i32> %a, <2 x i32> %b, <2 x i32> %c)
  ret <2 x i32> %call
}


declare i32 @_Z7_cl_anyDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func i32 @_Z3anyDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_anyDv2_i(<2 x i32> %a)
  ret i32 %call
}


declare i32 @_Z7_cl_allDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func i32 @_Z3allDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_allDv2_i(<2 x i32> %a)
  ret i32 %call
}


declare <3 x i32> @_Z7_cl_absDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z3absDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z7_cl_absDv3_i(<3 x i32> %a)
  ret <3 x i32> %call
}


declare <3 x i32> @_Z7_cl_clzDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z3clzDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z7_cl_clzDv3_i(<3 x i32> %a)
  ret <3 x i32> %call
}


declare <3 x i32> @_Z12_cl_popcountDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z8popcountDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z12_cl_popcountDv3_i(<3 x i32> %a)
  ret <3 x i32> %call
}


declare <3 x i32> @_Z12_cl_abs_diffDv3_iS_(<3 x i32>, <3 x i32>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z8abs_diffDv3_iS_(<3 x i32> %a, <3 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z12_cl_abs_diffDv3_iS_(<3 x i32> %a, <3 x i32> %b)
  ret <3 x i32> %call
}


declare <3 x i32> @_Z11_cl_add_satDv3_iS_(<3 x i32>, <3 x i32>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z7add_satDv3_iS_(<3 x i32> %a, <3 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z11_cl_add_satDv3_iS_(<3 x i32> %a, <3 x i32> %b)
  ret <3 x i32> %call
}


declare <3 x i32> @_Z8_cl_haddDv3_iS_(<3 x i32>, <3 x i32>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z4haddDv3_iS_(<3 x i32> %a, <3 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z8_cl_haddDv3_iS_(<3 x i32> %a, <3 x i32> %b)
  ret <3 x i32> %call
}


declare <3 x i32> @_Z7_cl_maxDv3_iS_(<3 x i32>, <3 x i32>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z3maxDv3_iS_(<3 x i32> %a, <3 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z7_cl_maxDv3_iS_(<3 x i32> %a, <3 x i32> %b)
  ret <3 x i32> %call
}


declare <3 x i32> @_Z7_cl_minDv3_iS_(<3 x i32>, <3 x i32>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z3minDv3_iS_(<3 x i32> %a, <3 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z7_cl_minDv3_iS_(<3 x i32> %a, <3 x i32> %b)
  ret <3 x i32> %call
}


declare <3 x i32> @_Z10_cl_mul_hiDv3_iS_(<3 x i32>, <3 x i32>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z6mul_hiDv3_iS_(<3 x i32> %a, <3 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z10_cl_mul_hiDv3_iS_(<3 x i32> %a, <3 x i32> %b)
  ret <3 x i32> %call
}


declare <3 x i32> @_Z9_cl_rhaddDv3_iS_(<3 x i32>, <3 x i32>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z5rhaddDv3_iS_(<3 x i32> %a, <3 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z9_cl_rhaddDv3_iS_(<3 x i32> %a, <3 x i32> %b)
  ret <3 x i32> %call
}


declare <3 x i32> @_Z10_cl_rotateDv3_iS_(<3 x i32>, <3 x i32>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z6rotateDv3_iS_(<3 x i32> %a, <3 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z10_cl_rotateDv3_iS_(<3 x i32> %a, <3 x i32> %b)
  ret <3 x i32> %call
}


declare <3 x i32> @_Z11_cl_sub_satDv3_iS_(<3 x i32>, <3 x i32>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z7sub_satDv3_iS_(<3 x i32> %a, <3 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z11_cl_sub_satDv3_iS_(<3 x i32> %a, <3 x i32> %b)
  ret <3 x i32> %call
}


declare <3 x i32> @_Z13_cl_bitselectDv3_iS_S_(<3 x i32>, <3 x i32>, <3 x i32>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z9bitselectDv3_iS_S_(<3 x i32> %a, <3 x i32> %b, <3 x i32> %c) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z13_cl_bitselectDv3_iS_S_(<3 x i32> %a, <3 x i32> %b, <3 x i32> %c)
  ret <3 x i32> %call
}


declare <3 x i32> @_Z9_cl_clampDv3_iS_S_(<3 x i32>, <3 x i32>, <3 x i32>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z5clampDv3_iS_S_(<3 x i32> %a, <3 x i32> %b, <3 x i32> %c) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z9_cl_clampDv3_iS_S_(<3 x i32> %a, <3 x i32> %b, <3 x i32> %c)
  ret <3 x i32> %call
}


declare <3 x i32> @_Z10_cl_mad_hiDv3_iS_S_(<3 x i32>, <3 x i32>, <3 x i32>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z6mad_hiDv3_iS_S_(<3 x i32> %a, <3 x i32> %b, <3 x i32> %c) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z10_cl_mad_hiDv3_iS_S_(<3 x i32> %a, <3 x i32> %b, <3 x i32> %c)
  ret <3 x i32> %call
}


declare <3 x i32> @_Z11_cl_mad_satDv3_iS_S_(<3 x i32>, <3 x i32>, <3 x i32>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z7mad_satDv3_iS_S_(<3 x i32> %a, <3 x i32> %b, <3 x i32> %c) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z11_cl_mad_satDv3_iS_S_(<3 x i32> %a, <3 x i32> %b, <3 x i32> %c)
  ret <3 x i32> %call
}


declare i32 @_Z7_cl_anyDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func i32 @_Z3anyDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_anyDv3_i(<3 x i32> %a)
  ret i32 %call
}


declare i32 @_Z7_cl_allDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func i32 @_Z3allDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_allDv3_i(<3 x i32> %a)
  ret i32 %call
}


declare <4 x i32> @_Z7_cl_absDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z3absDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z7_cl_absDv4_i(<4 x i32> %a)
  ret <4 x i32> %call
}


declare <4 x i32> @_Z7_cl_clzDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z3clzDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z7_cl_clzDv4_i(<4 x i32> %a)
  ret <4 x i32> %call
}


declare <4 x i32> @_Z12_cl_popcountDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z8popcountDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z12_cl_popcountDv4_i(<4 x i32> %a)
  ret <4 x i32> %call
}


declare <4 x i32> @_Z12_cl_abs_diffDv4_iS_(<4 x i32>, <4 x i32>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z8abs_diffDv4_iS_(<4 x i32> %a, <4 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z12_cl_abs_diffDv4_iS_(<4 x i32> %a, <4 x i32> %b)
  ret <4 x i32> %call
}


declare <4 x i32> @_Z11_cl_add_satDv4_iS_(<4 x i32>, <4 x i32>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z7add_satDv4_iS_(<4 x i32> %a, <4 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z11_cl_add_satDv4_iS_(<4 x i32> %a, <4 x i32> %b)
  ret <4 x i32> %call
}


declare <4 x i32> @_Z8_cl_haddDv4_iS_(<4 x i32>, <4 x i32>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z4haddDv4_iS_(<4 x i32> %a, <4 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z8_cl_haddDv4_iS_(<4 x i32> %a, <4 x i32> %b)
  ret <4 x i32> %call
}


declare <4 x i32> @_Z7_cl_maxDv4_iS_(<4 x i32>, <4 x i32>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z3maxDv4_iS_(<4 x i32> %a, <4 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z7_cl_maxDv4_iS_(<4 x i32> %a, <4 x i32> %b)
  ret <4 x i32> %call
}


declare <4 x i32> @_Z7_cl_minDv4_iS_(<4 x i32>, <4 x i32>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z3minDv4_iS_(<4 x i32> %a, <4 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z7_cl_minDv4_iS_(<4 x i32> %a, <4 x i32> %b)
  ret <4 x i32> %call
}


declare <4 x i32> @_Z10_cl_mul_hiDv4_iS_(<4 x i32>, <4 x i32>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z6mul_hiDv4_iS_(<4 x i32> %a, <4 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z10_cl_mul_hiDv4_iS_(<4 x i32> %a, <4 x i32> %b)
  ret <4 x i32> %call
}


declare <4 x i32> @_Z9_cl_rhaddDv4_iS_(<4 x i32>, <4 x i32>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z5rhaddDv4_iS_(<4 x i32> %a, <4 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z9_cl_rhaddDv4_iS_(<4 x i32> %a, <4 x i32> %b)
  ret <4 x i32> %call
}


declare <4 x i32> @_Z10_cl_rotateDv4_iS_(<4 x i32>, <4 x i32>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z6rotateDv4_iS_(<4 x i32> %a, <4 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z10_cl_rotateDv4_iS_(<4 x i32> %a, <4 x i32> %b)
  ret <4 x i32> %call
}


declare <4 x i32> @_Z11_cl_sub_satDv4_iS_(<4 x i32>, <4 x i32>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z7sub_satDv4_iS_(<4 x i32> %a, <4 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z11_cl_sub_satDv4_iS_(<4 x i32> %a, <4 x i32> %b)
  ret <4 x i32> %call
}


declare <4 x i32> @_Z13_cl_bitselectDv4_iS_S_(<4 x i32>, <4 x i32>, <4 x i32>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z9bitselectDv4_iS_S_(<4 x i32> %a, <4 x i32> %b, <4 x i32> %c) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z13_cl_bitselectDv4_iS_S_(<4 x i32> %a, <4 x i32> %b, <4 x i32> %c)
  ret <4 x i32> %call
}


declare <4 x i32> @_Z9_cl_clampDv4_iS_S_(<4 x i32>, <4 x i32>, <4 x i32>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z5clampDv4_iS_S_(<4 x i32> %a, <4 x i32> %b, <4 x i32> %c) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z9_cl_clampDv4_iS_S_(<4 x i32> %a, <4 x i32> %b, <4 x i32> %c)
  ret <4 x i32> %call
}


declare <4 x i32> @_Z10_cl_mad_hiDv4_iS_S_(<4 x i32>, <4 x i32>, <4 x i32>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z6mad_hiDv4_iS_S_(<4 x i32> %a, <4 x i32> %b, <4 x i32> %c) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z10_cl_mad_hiDv4_iS_S_(<4 x i32> %a, <4 x i32> %b, <4 x i32> %c)
  ret <4 x i32> %call
}


declare <4 x i32> @_Z11_cl_mad_satDv4_iS_S_(<4 x i32>, <4 x i32>, <4 x i32>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z7mad_satDv4_iS_S_(<4 x i32> %a, <4 x i32> %b, <4 x i32> %c) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z11_cl_mad_satDv4_iS_S_(<4 x i32> %a, <4 x i32> %b, <4 x i32> %c)
  ret <4 x i32> %call
}


declare i32 @_Z7_cl_anyDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func i32 @_Z3anyDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_anyDv4_i(<4 x i32> %a)
  ret i32 %call
}


declare i32 @_Z7_cl_allDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func i32 @_Z3allDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_allDv4_i(<4 x i32> %a)
  ret i32 %call
}


declare <8 x i32> @_Z7_cl_absDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z3absDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z7_cl_absDv8_i(<8 x i32> %a)
  ret <8 x i32> %call
}


declare <8 x i32> @_Z7_cl_clzDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z3clzDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z7_cl_clzDv8_i(<8 x i32> %a)
  ret <8 x i32> %call
}


declare <8 x i32> @_Z12_cl_popcountDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z8popcountDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z12_cl_popcountDv8_i(<8 x i32> %a)
  ret <8 x i32> %call
}


declare <8 x i32> @_Z12_cl_abs_diffDv8_iS_(<8 x i32>, <8 x i32>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z8abs_diffDv8_iS_(<8 x i32> %a, <8 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z12_cl_abs_diffDv8_iS_(<8 x i32> %a, <8 x i32> %b)
  ret <8 x i32> %call
}


declare <8 x i32> @_Z11_cl_add_satDv8_iS_(<8 x i32>, <8 x i32>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z7add_satDv8_iS_(<8 x i32> %a, <8 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z11_cl_add_satDv8_iS_(<8 x i32> %a, <8 x i32> %b)
  ret <8 x i32> %call
}


declare <8 x i32> @_Z8_cl_haddDv8_iS_(<8 x i32>, <8 x i32>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z4haddDv8_iS_(<8 x i32> %a, <8 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z8_cl_haddDv8_iS_(<8 x i32> %a, <8 x i32> %b)
  ret <8 x i32> %call
}


declare <8 x i32> @_Z7_cl_maxDv8_iS_(<8 x i32>, <8 x i32>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z3maxDv8_iS_(<8 x i32> %a, <8 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z7_cl_maxDv8_iS_(<8 x i32> %a, <8 x i32> %b)
  ret <8 x i32> %call
}


declare <8 x i32> @_Z7_cl_minDv8_iS_(<8 x i32>, <8 x i32>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z3minDv8_iS_(<8 x i32> %a, <8 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z7_cl_minDv8_iS_(<8 x i32> %a, <8 x i32> %b)
  ret <8 x i32> %call
}


declare <8 x i32> @_Z10_cl_mul_hiDv8_iS_(<8 x i32>, <8 x i32>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z6mul_hiDv8_iS_(<8 x i32> %a, <8 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z10_cl_mul_hiDv8_iS_(<8 x i32> %a, <8 x i32> %b)
  ret <8 x i32> %call
}


declare <8 x i32> @_Z9_cl_rhaddDv8_iS_(<8 x i32>, <8 x i32>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z5rhaddDv8_iS_(<8 x i32> %a, <8 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z9_cl_rhaddDv8_iS_(<8 x i32> %a, <8 x i32> %b)
  ret <8 x i32> %call
}


declare <8 x i32> @_Z10_cl_rotateDv8_iS_(<8 x i32>, <8 x i32>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z6rotateDv8_iS_(<8 x i32> %a, <8 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z10_cl_rotateDv8_iS_(<8 x i32> %a, <8 x i32> %b)
  ret <8 x i32> %call
}


declare <8 x i32> @_Z11_cl_sub_satDv8_iS_(<8 x i32>, <8 x i32>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z7sub_satDv8_iS_(<8 x i32> %a, <8 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z11_cl_sub_satDv8_iS_(<8 x i32> %a, <8 x i32> %b)
  ret <8 x i32> %call
}


declare <8 x i32> @_Z13_cl_bitselectDv8_iS_S_(<8 x i32>, <8 x i32>, <8 x i32>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z9bitselectDv8_iS_S_(<8 x i32> %a, <8 x i32> %b, <8 x i32> %c) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z13_cl_bitselectDv8_iS_S_(<8 x i32> %a, <8 x i32> %b, <8 x i32> %c)
  ret <8 x i32> %call
}


declare <8 x i32> @_Z9_cl_clampDv8_iS_S_(<8 x i32>, <8 x i32>, <8 x i32>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z5clampDv8_iS_S_(<8 x i32> %a, <8 x i32> %b, <8 x i32> %c) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z9_cl_clampDv8_iS_S_(<8 x i32> %a, <8 x i32> %b, <8 x i32> %c)
  ret <8 x i32> %call
}


declare <8 x i32> @_Z10_cl_mad_hiDv8_iS_S_(<8 x i32>, <8 x i32>, <8 x i32>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z6mad_hiDv8_iS_S_(<8 x i32> %a, <8 x i32> %b, <8 x i32> %c) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z10_cl_mad_hiDv8_iS_S_(<8 x i32> %a, <8 x i32> %b, <8 x i32> %c)
  ret <8 x i32> %call
}


declare <8 x i32> @_Z11_cl_mad_satDv8_iS_S_(<8 x i32>, <8 x i32>, <8 x i32>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z7mad_satDv8_iS_S_(<8 x i32> %a, <8 x i32> %b, <8 x i32> %c) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z11_cl_mad_satDv8_iS_S_(<8 x i32> %a, <8 x i32> %b, <8 x i32> %c)
  ret <8 x i32> %call
}


declare i32 @_Z7_cl_anyDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func i32 @_Z3anyDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_anyDv8_i(<8 x i32> %a)
  ret i32 %call
}


declare i32 @_Z7_cl_allDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func i32 @_Z3allDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_allDv8_i(<8 x i32> %a)
  ret i32 %call
}


declare <16 x i32> @_Z7_cl_absDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z3absDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z7_cl_absDv16_i(<16 x i32> %a)
  ret <16 x i32> %call
}


declare <16 x i32> @_Z7_cl_clzDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z3clzDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z7_cl_clzDv16_i(<16 x i32> %a)
  ret <16 x i32> %call
}


declare <16 x i32> @_Z12_cl_popcountDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z8popcountDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z12_cl_popcountDv16_i(<16 x i32> %a)
  ret <16 x i32> %call
}


declare <16 x i32> @_Z12_cl_abs_diffDv16_iS_(<16 x i32>, <16 x i32>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z8abs_diffDv16_iS_(<16 x i32> %a, <16 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z12_cl_abs_diffDv16_iS_(<16 x i32> %a, <16 x i32> %b)
  ret <16 x i32> %call
}


declare <16 x i32> @_Z11_cl_add_satDv16_iS_(<16 x i32>, <16 x i32>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z7add_satDv16_iS_(<16 x i32> %a, <16 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z11_cl_add_satDv16_iS_(<16 x i32> %a, <16 x i32> %b)
  ret <16 x i32> %call
}


declare <16 x i32> @_Z8_cl_haddDv16_iS_(<16 x i32>, <16 x i32>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z4haddDv16_iS_(<16 x i32> %a, <16 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z8_cl_haddDv16_iS_(<16 x i32> %a, <16 x i32> %b)
  ret <16 x i32> %call
}


declare <16 x i32> @_Z7_cl_maxDv16_iS_(<16 x i32>, <16 x i32>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z3maxDv16_iS_(<16 x i32> %a, <16 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z7_cl_maxDv16_iS_(<16 x i32> %a, <16 x i32> %b)
  ret <16 x i32> %call
}


declare <16 x i32> @_Z7_cl_minDv16_iS_(<16 x i32>, <16 x i32>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z3minDv16_iS_(<16 x i32> %a, <16 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z7_cl_minDv16_iS_(<16 x i32> %a, <16 x i32> %b)
  ret <16 x i32> %call
}


declare <16 x i32> @_Z10_cl_mul_hiDv16_iS_(<16 x i32>, <16 x i32>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z6mul_hiDv16_iS_(<16 x i32> %a, <16 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z10_cl_mul_hiDv16_iS_(<16 x i32> %a, <16 x i32> %b)
  ret <16 x i32> %call
}


declare <16 x i32> @_Z9_cl_rhaddDv16_iS_(<16 x i32>, <16 x i32>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z5rhaddDv16_iS_(<16 x i32> %a, <16 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z9_cl_rhaddDv16_iS_(<16 x i32> %a, <16 x i32> %b)
  ret <16 x i32> %call
}


declare <16 x i32> @_Z10_cl_rotateDv16_iS_(<16 x i32>, <16 x i32>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z6rotateDv16_iS_(<16 x i32> %a, <16 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z10_cl_rotateDv16_iS_(<16 x i32> %a, <16 x i32> %b)
  ret <16 x i32> %call
}


declare <16 x i32> @_Z11_cl_sub_satDv16_iS_(<16 x i32>, <16 x i32>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z7sub_satDv16_iS_(<16 x i32> %a, <16 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z11_cl_sub_satDv16_iS_(<16 x i32> %a, <16 x i32> %b)
  ret <16 x i32> %call
}


declare <16 x i32> @_Z13_cl_bitselectDv16_iS_S_(<16 x i32>, <16 x i32>, <16 x i32>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z9bitselectDv16_iS_S_(<16 x i32> %a, <16 x i32> %b, <16 x i32> %c) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z13_cl_bitselectDv16_iS_S_(<16 x i32> %a, <16 x i32> %b, <16 x i32> %c)
  ret <16 x i32> %call
}


declare <16 x i32> @_Z9_cl_clampDv16_iS_S_(<16 x i32>, <16 x i32>, <16 x i32>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z5clampDv16_iS_S_(<16 x i32> %a, <16 x i32> %b, <16 x i32> %c) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z9_cl_clampDv16_iS_S_(<16 x i32> %a, <16 x i32> %b, <16 x i32> %c)
  ret <16 x i32> %call
}


declare <16 x i32> @_Z10_cl_mad_hiDv16_iS_S_(<16 x i32>, <16 x i32>, <16 x i32>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z6mad_hiDv16_iS_S_(<16 x i32> %a, <16 x i32> %b, <16 x i32> %c) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z10_cl_mad_hiDv16_iS_S_(<16 x i32> %a, <16 x i32> %b, <16 x i32> %c)
  ret <16 x i32> %call
}


declare <16 x i32> @_Z11_cl_mad_satDv16_iS_S_(<16 x i32>, <16 x i32>, <16 x i32>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z7mad_satDv16_iS_S_(<16 x i32> %a, <16 x i32> %b, <16 x i32> %c) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z11_cl_mad_satDv16_iS_S_(<16 x i32> %a, <16 x i32> %b, <16 x i32> %c)
  ret <16 x i32> %call
}


declare i32 @_Z7_cl_anyDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func i32 @_Z3anyDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_anyDv16_i(<16 x i32> %a)
  ret i32 %call
}


declare i32 @_Z7_cl_allDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func i32 @_Z3allDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_allDv16_i(<16 x i32> %a)
  ret i32 %call
}


declare i32 @_Z7_cl_absj(i32) local_unnamed_addr #0

define spir_func i32 @_Z3absj(i32 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_absj(i32 %a)
  ret i32 %call
}


declare i32 @_Z7_cl_clzj(i32) local_unnamed_addr #0

define spir_func i32 @_Z3clzj(i32 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_clzj(i32 %a)
  ret i32 %call
}


declare i32 @_Z12_cl_popcountj(i32) local_unnamed_addr #0

define spir_func i32 @_Z8popcountj(i32 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z12_cl_popcountj(i32 %a)
  ret i32 %call
}


declare i32 @_Z12_cl_abs_diffjj(i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z8abs_diffjj(i32 %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z12_cl_abs_diffjj(i32 %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z11_cl_add_satjj(i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z7add_satjj(i32 %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z11_cl_add_satjj(i32 %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z8_cl_haddjj(i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z4haddjj(i32 %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z8_cl_haddjj(i32 %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z7_cl_maxjj(i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z3maxjj(i32 %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_maxjj(i32 %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z7_cl_minjj(i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z3minjj(i32 %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_minjj(i32 %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z10_cl_mul_hijj(i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z6mul_hijj(i32 %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z10_cl_mul_hijj(i32 %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z9_cl_rhaddjj(i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z5rhaddjj(i32 %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z9_cl_rhaddjj(i32 %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z10_cl_rotatejj(i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z6rotatejj(i32 %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z10_cl_rotatejj(i32 %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z11_cl_sub_satjj(i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z7sub_satjj(i32 %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z11_cl_sub_satjj(i32 %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z13_cl_bitselectjjj(i32, i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z9bitselectjjj(i32 %a, i32 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i32 @_Z13_cl_bitselectjjj(i32 %a, i32 %b, i32 %c)
  ret i32 %call
}


declare i32 @_Z9_cl_clampjjj(i32, i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z5clampjjj(i32 %a, i32 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i32 @_Z9_cl_clampjjj(i32 %a, i32 %b, i32 %c)
  ret i32 %call
}


declare i32 @_Z10_cl_mad_hijjj(i32, i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z6mad_hijjj(i32 %a, i32 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i32 @_Z10_cl_mad_hijjj(i32 %a, i32 %b, i32 %c)
  ret i32 %call
}


declare i32 @_Z11_cl_mad_satjjj(i32, i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z7mad_satjjj(i32 %a, i32 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i32 @_Z11_cl_mad_satjjj(i32 %a, i32 %b, i32 %c)
  ret i32 %call
}


declare i32 @_Z7_cl_anyj(i32) local_unnamed_addr #0

define spir_func i32 @_Z3anyj(i32 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_anyj(i32 %a)
  ret i32 %call
}


declare i32 @_Z7_cl_allj(i32) local_unnamed_addr #0

define spir_func i32 @_Z3allj(i32 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_allj(i32 %a)
  ret i32 %call
}


declare <2 x i32> @_Z7_cl_absDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z3absDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z7_cl_absDv2_j(<2 x i32> %a)
  ret <2 x i32> %call
}


declare <2 x i32> @_Z7_cl_clzDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z3clzDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z7_cl_clzDv2_j(<2 x i32> %a)
  ret <2 x i32> %call
}


declare <2 x i32> @_Z12_cl_popcountDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z8popcountDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z12_cl_popcountDv2_j(<2 x i32> %a)
  ret <2 x i32> %call
}


declare <2 x i32> @_Z12_cl_abs_diffDv2_jS_(<2 x i32>, <2 x i32>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z8abs_diffDv2_jS_(<2 x i32> %a, <2 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z12_cl_abs_diffDv2_jS_(<2 x i32> %a, <2 x i32> %b)
  ret <2 x i32> %call
}


declare <2 x i32> @_Z11_cl_add_satDv2_jS_(<2 x i32>, <2 x i32>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z7add_satDv2_jS_(<2 x i32> %a, <2 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z11_cl_add_satDv2_jS_(<2 x i32> %a, <2 x i32> %b)
  ret <2 x i32> %call
}


declare <2 x i32> @_Z8_cl_haddDv2_jS_(<2 x i32>, <2 x i32>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z4haddDv2_jS_(<2 x i32> %a, <2 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z8_cl_haddDv2_jS_(<2 x i32> %a, <2 x i32> %b)
  ret <2 x i32> %call
}


declare <2 x i32> @_Z7_cl_maxDv2_jS_(<2 x i32>, <2 x i32>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z3maxDv2_jS_(<2 x i32> %a, <2 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z7_cl_maxDv2_jS_(<2 x i32> %a, <2 x i32> %b)
  ret <2 x i32> %call
}


declare <2 x i32> @_Z7_cl_minDv2_jS_(<2 x i32>, <2 x i32>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z3minDv2_jS_(<2 x i32> %a, <2 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z7_cl_minDv2_jS_(<2 x i32> %a, <2 x i32> %b)
  ret <2 x i32> %call
}


declare <2 x i32> @_Z10_cl_mul_hiDv2_jS_(<2 x i32>, <2 x i32>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z6mul_hiDv2_jS_(<2 x i32> %a, <2 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z10_cl_mul_hiDv2_jS_(<2 x i32> %a, <2 x i32> %b)
  ret <2 x i32> %call
}


declare <2 x i32> @_Z9_cl_rhaddDv2_jS_(<2 x i32>, <2 x i32>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z5rhaddDv2_jS_(<2 x i32> %a, <2 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z9_cl_rhaddDv2_jS_(<2 x i32> %a, <2 x i32> %b)
  ret <2 x i32> %call
}


declare <2 x i32> @_Z10_cl_rotateDv2_jS_(<2 x i32>, <2 x i32>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z6rotateDv2_jS_(<2 x i32> %a, <2 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z10_cl_rotateDv2_jS_(<2 x i32> %a, <2 x i32> %b)
  ret <2 x i32> %call
}


declare <2 x i32> @_Z11_cl_sub_satDv2_jS_(<2 x i32>, <2 x i32>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z7sub_satDv2_jS_(<2 x i32> %a, <2 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z11_cl_sub_satDv2_jS_(<2 x i32> %a, <2 x i32> %b)
  ret <2 x i32> %call
}


declare <2 x i32> @_Z13_cl_bitselectDv2_jS_S_(<2 x i32>, <2 x i32>, <2 x i32>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z9bitselectDv2_jS_S_(<2 x i32> %a, <2 x i32> %b, <2 x i32> %c) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z13_cl_bitselectDv2_jS_S_(<2 x i32> %a, <2 x i32> %b, <2 x i32> %c)
  ret <2 x i32> %call
}


declare <2 x i32> @_Z9_cl_clampDv2_jS_S_(<2 x i32>, <2 x i32>, <2 x i32>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z5clampDv2_jS_S_(<2 x i32> %a, <2 x i32> %b, <2 x i32> %c) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z9_cl_clampDv2_jS_S_(<2 x i32> %a, <2 x i32> %b, <2 x i32> %c)
  ret <2 x i32> %call
}


declare <2 x i32> @_Z10_cl_mad_hiDv2_jS_S_(<2 x i32>, <2 x i32>, <2 x i32>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z6mad_hiDv2_jS_S_(<2 x i32> %a, <2 x i32> %b, <2 x i32> %c) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z10_cl_mad_hiDv2_jS_S_(<2 x i32> %a, <2 x i32> %b, <2 x i32> %c)
  ret <2 x i32> %call
}


declare <2 x i32> @_Z11_cl_mad_satDv2_jS_S_(<2 x i32>, <2 x i32>, <2 x i32>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z7mad_satDv2_jS_S_(<2 x i32> %a, <2 x i32> %b, <2 x i32> %c) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z11_cl_mad_satDv2_jS_S_(<2 x i32> %a, <2 x i32> %b, <2 x i32> %c)
  ret <2 x i32> %call
}


declare i32 @_Z7_cl_anyDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func i32 @_Z3anyDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_anyDv2_j(<2 x i32> %a)
  ret i32 %call
}


declare i32 @_Z7_cl_allDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func i32 @_Z3allDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_allDv2_j(<2 x i32> %a)
  ret i32 %call
}


declare <3 x i32> @_Z7_cl_absDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z3absDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z7_cl_absDv3_j(<3 x i32> %a)
  ret <3 x i32> %call
}


declare <3 x i32> @_Z7_cl_clzDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z3clzDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z7_cl_clzDv3_j(<3 x i32> %a)
  ret <3 x i32> %call
}


declare <3 x i32> @_Z12_cl_popcountDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z8popcountDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z12_cl_popcountDv3_j(<3 x i32> %a)
  ret <3 x i32> %call
}


declare <3 x i32> @_Z12_cl_abs_diffDv3_jS_(<3 x i32>, <3 x i32>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z8abs_diffDv3_jS_(<3 x i32> %a, <3 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z12_cl_abs_diffDv3_jS_(<3 x i32> %a, <3 x i32> %b)
  ret <3 x i32> %call
}


declare <3 x i32> @_Z11_cl_add_satDv3_jS_(<3 x i32>, <3 x i32>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z7add_satDv3_jS_(<3 x i32> %a, <3 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z11_cl_add_satDv3_jS_(<3 x i32> %a, <3 x i32> %b)
  ret <3 x i32> %call
}


declare <3 x i32> @_Z8_cl_haddDv3_jS_(<3 x i32>, <3 x i32>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z4haddDv3_jS_(<3 x i32> %a, <3 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z8_cl_haddDv3_jS_(<3 x i32> %a, <3 x i32> %b)
  ret <3 x i32> %call
}


declare <3 x i32> @_Z7_cl_maxDv3_jS_(<3 x i32>, <3 x i32>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z3maxDv3_jS_(<3 x i32> %a, <3 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z7_cl_maxDv3_jS_(<3 x i32> %a, <3 x i32> %b)
  ret <3 x i32> %call
}


declare <3 x i32> @_Z7_cl_minDv3_jS_(<3 x i32>, <3 x i32>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z3minDv3_jS_(<3 x i32> %a, <3 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z7_cl_minDv3_jS_(<3 x i32> %a, <3 x i32> %b)
  ret <3 x i32> %call
}


declare <3 x i32> @_Z10_cl_mul_hiDv3_jS_(<3 x i32>, <3 x i32>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z6mul_hiDv3_jS_(<3 x i32> %a, <3 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z10_cl_mul_hiDv3_jS_(<3 x i32> %a, <3 x i32> %b)
  ret <3 x i32> %call
}


declare <3 x i32> @_Z9_cl_rhaddDv3_jS_(<3 x i32>, <3 x i32>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z5rhaddDv3_jS_(<3 x i32> %a, <3 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z9_cl_rhaddDv3_jS_(<3 x i32> %a, <3 x i32> %b)
  ret <3 x i32> %call
}


declare <3 x i32> @_Z10_cl_rotateDv3_jS_(<3 x i32>, <3 x i32>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z6rotateDv3_jS_(<3 x i32> %a, <3 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z10_cl_rotateDv3_jS_(<3 x i32> %a, <3 x i32> %b)
  ret <3 x i32> %call
}


declare <3 x i32> @_Z11_cl_sub_satDv3_jS_(<3 x i32>, <3 x i32>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z7sub_satDv3_jS_(<3 x i32> %a, <3 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z11_cl_sub_satDv3_jS_(<3 x i32> %a, <3 x i32> %b)
  ret <3 x i32> %call
}


declare <3 x i32> @_Z13_cl_bitselectDv3_jS_S_(<3 x i32>, <3 x i32>, <3 x i32>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z9bitselectDv3_jS_S_(<3 x i32> %a, <3 x i32> %b, <3 x i32> %c) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z13_cl_bitselectDv3_jS_S_(<3 x i32> %a, <3 x i32> %b, <3 x i32> %c)
  ret <3 x i32> %call
}


declare <3 x i32> @_Z9_cl_clampDv3_jS_S_(<3 x i32>, <3 x i32>, <3 x i32>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z5clampDv3_jS_S_(<3 x i32> %a, <3 x i32> %b, <3 x i32> %c) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z9_cl_clampDv3_jS_S_(<3 x i32> %a, <3 x i32> %b, <3 x i32> %c)
  ret <3 x i32> %call
}


declare <3 x i32> @_Z10_cl_mad_hiDv3_jS_S_(<3 x i32>, <3 x i32>, <3 x i32>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z6mad_hiDv3_jS_S_(<3 x i32> %a, <3 x i32> %b, <3 x i32> %c) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z10_cl_mad_hiDv3_jS_S_(<3 x i32> %a, <3 x i32> %b, <3 x i32> %c)
  ret <3 x i32> %call
}


declare <3 x i32> @_Z11_cl_mad_satDv3_jS_S_(<3 x i32>, <3 x i32>, <3 x i32>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z7mad_satDv3_jS_S_(<3 x i32> %a, <3 x i32> %b, <3 x i32> %c) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z11_cl_mad_satDv3_jS_S_(<3 x i32> %a, <3 x i32> %b, <3 x i32> %c)
  ret <3 x i32> %call
}


declare i32 @_Z7_cl_anyDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func i32 @_Z3anyDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_anyDv3_j(<3 x i32> %a)
  ret i32 %call
}


declare i32 @_Z7_cl_allDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func i32 @_Z3allDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_allDv3_j(<3 x i32> %a)
  ret i32 %call
}


declare <4 x i32> @_Z7_cl_absDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z3absDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z7_cl_absDv4_j(<4 x i32> %a)
  ret <4 x i32> %call
}


declare <4 x i32> @_Z7_cl_clzDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z3clzDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z7_cl_clzDv4_j(<4 x i32> %a)
  ret <4 x i32> %call
}


declare <4 x i32> @_Z12_cl_popcountDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z8popcountDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z12_cl_popcountDv4_j(<4 x i32> %a)
  ret <4 x i32> %call
}


declare <4 x i32> @_Z12_cl_abs_diffDv4_jS_(<4 x i32>, <4 x i32>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z8abs_diffDv4_jS_(<4 x i32> %a, <4 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z12_cl_abs_diffDv4_jS_(<4 x i32> %a, <4 x i32> %b)
  ret <4 x i32> %call
}


declare <4 x i32> @_Z11_cl_add_satDv4_jS_(<4 x i32>, <4 x i32>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z7add_satDv4_jS_(<4 x i32> %a, <4 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z11_cl_add_satDv4_jS_(<4 x i32> %a, <4 x i32> %b)
  ret <4 x i32> %call
}


declare <4 x i32> @_Z8_cl_haddDv4_jS_(<4 x i32>, <4 x i32>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z4haddDv4_jS_(<4 x i32> %a, <4 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z8_cl_haddDv4_jS_(<4 x i32> %a, <4 x i32> %b)
  ret <4 x i32> %call
}


declare <4 x i32> @_Z7_cl_maxDv4_jS_(<4 x i32>, <4 x i32>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z3maxDv4_jS_(<4 x i32> %a, <4 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z7_cl_maxDv4_jS_(<4 x i32> %a, <4 x i32> %b)
  ret <4 x i32> %call
}


declare <4 x i32> @_Z7_cl_minDv4_jS_(<4 x i32>, <4 x i32>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z3minDv4_jS_(<4 x i32> %a, <4 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z7_cl_minDv4_jS_(<4 x i32> %a, <4 x i32> %b)
  ret <4 x i32> %call
}


declare <4 x i32> @_Z10_cl_mul_hiDv4_jS_(<4 x i32>, <4 x i32>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z6mul_hiDv4_jS_(<4 x i32> %a, <4 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z10_cl_mul_hiDv4_jS_(<4 x i32> %a, <4 x i32> %b)
  ret <4 x i32> %call
}


declare <4 x i32> @_Z9_cl_rhaddDv4_jS_(<4 x i32>, <4 x i32>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z5rhaddDv4_jS_(<4 x i32> %a, <4 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z9_cl_rhaddDv4_jS_(<4 x i32> %a, <4 x i32> %b)
  ret <4 x i32> %call
}


declare <4 x i32> @_Z10_cl_rotateDv4_jS_(<4 x i32>, <4 x i32>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z6rotateDv4_jS_(<4 x i32> %a, <4 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z10_cl_rotateDv4_jS_(<4 x i32> %a, <4 x i32> %b)
  ret <4 x i32> %call
}


declare <4 x i32> @_Z11_cl_sub_satDv4_jS_(<4 x i32>, <4 x i32>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z7sub_satDv4_jS_(<4 x i32> %a, <4 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z11_cl_sub_satDv4_jS_(<4 x i32> %a, <4 x i32> %b)
  ret <4 x i32> %call
}


declare <4 x i32> @_Z13_cl_bitselectDv4_jS_S_(<4 x i32>, <4 x i32>, <4 x i32>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z9bitselectDv4_jS_S_(<4 x i32> %a, <4 x i32> %b, <4 x i32> %c) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z13_cl_bitselectDv4_jS_S_(<4 x i32> %a, <4 x i32> %b, <4 x i32> %c)
  ret <4 x i32> %call
}


declare <4 x i32> @_Z9_cl_clampDv4_jS_S_(<4 x i32>, <4 x i32>, <4 x i32>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z5clampDv4_jS_S_(<4 x i32> %a, <4 x i32> %b, <4 x i32> %c) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z9_cl_clampDv4_jS_S_(<4 x i32> %a, <4 x i32> %b, <4 x i32> %c)
  ret <4 x i32> %call
}


declare <4 x i32> @_Z10_cl_mad_hiDv4_jS_S_(<4 x i32>, <4 x i32>, <4 x i32>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z6mad_hiDv4_jS_S_(<4 x i32> %a, <4 x i32> %b, <4 x i32> %c) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z10_cl_mad_hiDv4_jS_S_(<4 x i32> %a, <4 x i32> %b, <4 x i32> %c)
  ret <4 x i32> %call
}


declare <4 x i32> @_Z11_cl_mad_satDv4_jS_S_(<4 x i32>, <4 x i32>, <4 x i32>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z7mad_satDv4_jS_S_(<4 x i32> %a, <4 x i32> %b, <4 x i32> %c) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z11_cl_mad_satDv4_jS_S_(<4 x i32> %a, <4 x i32> %b, <4 x i32> %c)
  ret <4 x i32> %call
}


declare i32 @_Z7_cl_anyDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func i32 @_Z3anyDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_anyDv4_j(<4 x i32> %a)
  ret i32 %call
}


declare i32 @_Z7_cl_allDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func i32 @_Z3allDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_allDv4_j(<4 x i32> %a)
  ret i32 %call
}


declare <8 x i32> @_Z7_cl_absDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z3absDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z7_cl_absDv8_j(<8 x i32> %a)
  ret <8 x i32> %call
}


declare <8 x i32> @_Z7_cl_clzDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z3clzDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z7_cl_clzDv8_j(<8 x i32> %a)
  ret <8 x i32> %call
}


declare <8 x i32> @_Z12_cl_popcountDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z8popcountDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z12_cl_popcountDv8_j(<8 x i32> %a)
  ret <8 x i32> %call
}


declare <8 x i32> @_Z12_cl_abs_diffDv8_jS_(<8 x i32>, <8 x i32>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z8abs_diffDv8_jS_(<8 x i32> %a, <8 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z12_cl_abs_diffDv8_jS_(<8 x i32> %a, <8 x i32> %b)
  ret <8 x i32> %call
}


declare <8 x i32> @_Z11_cl_add_satDv8_jS_(<8 x i32>, <8 x i32>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z7add_satDv8_jS_(<8 x i32> %a, <8 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z11_cl_add_satDv8_jS_(<8 x i32> %a, <8 x i32> %b)
  ret <8 x i32> %call
}


declare <8 x i32> @_Z8_cl_haddDv8_jS_(<8 x i32>, <8 x i32>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z4haddDv8_jS_(<8 x i32> %a, <8 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z8_cl_haddDv8_jS_(<8 x i32> %a, <8 x i32> %b)
  ret <8 x i32> %call
}


declare <8 x i32> @_Z7_cl_maxDv8_jS_(<8 x i32>, <8 x i32>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z3maxDv8_jS_(<8 x i32> %a, <8 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z7_cl_maxDv8_jS_(<8 x i32> %a, <8 x i32> %b)
  ret <8 x i32> %call
}


declare <8 x i32> @_Z7_cl_minDv8_jS_(<8 x i32>, <8 x i32>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z3minDv8_jS_(<8 x i32> %a, <8 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z7_cl_minDv8_jS_(<8 x i32> %a, <8 x i32> %b)
  ret <8 x i32> %call
}


declare <8 x i32> @_Z10_cl_mul_hiDv8_jS_(<8 x i32>, <8 x i32>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z6mul_hiDv8_jS_(<8 x i32> %a, <8 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z10_cl_mul_hiDv8_jS_(<8 x i32> %a, <8 x i32> %b)
  ret <8 x i32> %call
}


declare <8 x i32> @_Z9_cl_rhaddDv8_jS_(<8 x i32>, <8 x i32>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z5rhaddDv8_jS_(<8 x i32> %a, <8 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z9_cl_rhaddDv8_jS_(<8 x i32> %a, <8 x i32> %b)
  ret <8 x i32> %call
}


declare <8 x i32> @_Z10_cl_rotateDv8_jS_(<8 x i32>, <8 x i32>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z6rotateDv8_jS_(<8 x i32> %a, <8 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z10_cl_rotateDv8_jS_(<8 x i32> %a, <8 x i32> %b)
  ret <8 x i32> %call
}


declare <8 x i32> @_Z11_cl_sub_satDv8_jS_(<8 x i32>, <8 x i32>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z7sub_satDv8_jS_(<8 x i32> %a, <8 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z11_cl_sub_satDv8_jS_(<8 x i32> %a, <8 x i32> %b)
  ret <8 x i32> %call
}


declare <8 x i32> @_Z13_cl_bitselectDv8_jS_S_(<8 x i32>, <8 x i32>, <8 x i32>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z9bitselectDv8_jS_S_(<8 x i32> %a, <8 x i32> %b, <8 x i32> %c) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z13_cl_bitselectDv8_jS_S_(<8 x i32> %a, <8 x i32> %b, <8 x i32> %c)
  ret <8 x i32> %call
}


declare <8 x i32> @_Z9_cl_clampDv8_jS_S_(<8 x i32>, <8 x i32>, <8 x i32>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z5clampDv8_jS_S_(<8 x i32> %a, <8 x i32> %b, <8 x i32> %c) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z9_cl_clampDv8_jS_S_(<8 x i32> %a, <8 x i32> %b, <8 x i32> %c)
  ret <8 x i32> %call
}


declare <8 x i32> @_Z10_cl_mad_hiDv8_jS_S_(<8 x i32>, <8 x i32>, <8 x i32>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z6mad_hiDv8_jS_S_(<8 x i32> %a, <8 x i32> %b, <8 x i32> %c) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z10_cl_mad_hiDv8_jS_S_(<8 x i32> %a, <8 x i32> %b, <8 x i32> %c)
  ret <8 x i32> %call
}


declare <8 x i32> @_Z11_cl_mad_satDv8_jS_S_(<8 x i32>, <8 x i32>, <8 x i32>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z7mad_satDv8_jS_S_(<8 x i32> %a, <8 x i32> %b, <8 x i32> %c) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z11_cl_mad_satDv8_jS_S_(<8 x i32> %a, <8 x i32> %b, <8 x i32> %c)
  ret <8 x i32> %call
}


declare i32 @_Z7_cl_anyDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func i32 @_Z3anyDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_anyDv8_j(<8 x i32> %a)
  ret i32 %call
}


declare i32 @_Z7_cl_allDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func i32 @_Z3allDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_allDv8_j(<8 x i32> %a)
  ret i32 %call
}


declare <16 x i32> @_Z7_cl_absDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z3absDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z7_cl_absDv16_j(<16 x i32> %a)
  ret <16 x i32> %call
}


declare <16 x i32> @_Z7_cl_clzDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z3clzDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z7_cl_clzDv16_j(<16 x i32> %a)
  ret <16 x i32> %call
}


declare <16 x i32> @_Z12_cl_popcountDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z8popcountDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z12_cl_popcountDv16_j(<16 x i32> %a)
  ret <16 x i32> %call
}


declare <16 x i32> @_Z12_cl_abs_diffDv16_jS_(<16 x i32>, <16 x i32>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z8abs_diffDv16_jS_(<16 x i32> %a, <16 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z12_cl_abs_diffDv16_jS_(<16 x i32> %a, <16 x i32> %b)
  ret <16 x i32> %call
}


declare <16 x i32> @_Z11_cl_add_satDv16_jS_(<16 x i32>, <16 x i32>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z7add_satDv16_jS_(<16 x i32> %a, <16 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z11_cl_add_satDv16_jS_(<16 x i32> %a, <16 x i32> %b)
  ret <16 x i32> %call
}


declare <16 x i32> @_Z8_cl_haddDv16_jS_(<16 x i32>, <16 x i32>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z4haddDv16_jS_(<16 x i32> %a, <16 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z8_cl_haddDv16_jS_(<16 x i32> %a, <16 x i32> %b)
  ret <16 x i32> %call
}


declare <16 x i32> @_Z7_cl_maxDv16_jS_(<16 x i32>, <16 x i32>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z3maxDv16_jS_(<16 x i32> %a, <16 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z7_cl_maxDv16_jS_(<16 x i32> %a, <16 x i32> %b)
  ret <16 x i32> %call
}


declare <16 x i32> @_Z7_cl_minDv16_jS_(<16 x i32>, <16 x i32>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z3minDv16_jS_(<16 x i32> %a, <16 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z7_cl_minDv16_jS_(<16 x i32> %a, <16 x i32> %b)
  ret <16 x i32> %call
}


declare <16 x i32> @_Z10_cl_mul_hiDv16_jS_(<16 x i32>, <16 x i32>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z6mul_hiDv16_jS_(<16 x i32> %a, <16 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z10_cl_mul_hiDv16_jS_(<16 x i32> %a, <16 x i32> %b)
  ret <16 x i32> %call
}


declare <16 x i32> @_Z9_cl_rhaddDv16_jS_(<16 x i32>, <16 x i32>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z5rhaddDv16_jS_(<16 x i32> %a, <16 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z9_cl_rhaddDv16_jS_(<16 x i32> %a, <16 x i32> %b)
  ret <16 x i32> %call
}


declare <16 x i32> @_Z10_cl_rotateDv16_jS_(<16 x i32>, <16 x i32>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z6rotateDv16_jS_(<16 x i32> %a, <16 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z10_cl_rotateDv16_jS_(<16 x i32> %a, <16 x i32> %b)
  ret <16 x i32> %call
}


declare <16 x i32> @_Z11_cl_sub_satDv16_jS_(<16 x i32>, <16 x i32>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z7sub_satDv16_jS_(<16 x i32> %a, <16 x i32> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z11_cl_sub_satDv16_jS_(<16 x i32> %a, <16 x i32> %b)
  ret <16 x i32> %call
}


declare <16 x i32> @_Z13_cl_bitselectDv16_jS_S_(<16 x i32>, <16 x i32>, <16 x i32>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z9bitselectDv16_jS_S_(<16 x i32> %a, <16 x i32> %b, <16 x i32> %c) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z13_cl_bitselectDv16_jS_S_(<16 x i32> %a, <16 x i32> %b, <16 x i32> %c)
  ret <16 x i32> %call
}


declare <16 x i32> @_Z9_cl_clampDv16_jS_S_(<16 x i32>, <16 x i32>, <16 x i32>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z5clampDv16_jS_S_(<16 x i32> %a, <16 x i32> %b, <16 x i32> %c) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z9_cl_clampDv16_jS_S_(<16 x i32> %a, <16 x i32> %b, <16 x i32> %c)
  ret <16 x i32> %call
}


declare <16 x i32> @_Z10_cl_mad_hiDv16_jS_S_(<16 x i32>, <16 x i32>, <16 x i32>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z6mad_hiDv16_jS_S_(<16 x i32> %a, <16 x i32> %b, <16 x i32> %c) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z10_cl_mad_hiDv16_jS_S_(<16 x i32> %a, <16 x i32> %b, <16 x i32> %c)
  ret <16 x i32> %call
}


declare <16 x i32> @_Z11_cl_mad_satDv16_jS_S_(<16 x i32>, <16 x i32>, <16 x i32>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z7mad_satDv16_jS_S_(<16 x i32> %a, <16 x i32> %b, <16 x i32> %c) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z11_cl_mad_satDv16_jS_S_(<16 x i32> %a, <16 x i32> %b, <16 x i32> %c)
  ret <16 x i32> %call
}


declare i32 @_Z7_cl_anyDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func i32 @_Z3anyDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_anyDv16_j(<16 x i32> %a)
  ret i32 %call
}


declare i32 @_Z7_cl_allDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func i32 @_Z3allDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_allDv16_j(<16 x i32> %a)
  ret i32 %call
}


declare i64 @_Z7_cl_absl(i64) local_unnamed_addr #0

define spir_func i64 @_Z3absl(i64 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z7_cl_absl(i64 %a)
  ret i64 %call
}


declare i64 @_Z7_cl_clzl(i64) local_unnamed_addr #0

define spir_func i64 @_Z3clzl(i64 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z7_cl_clzl(i64 %a)
  ret i64 %call
}


declare i64 @_Z12_cl_popcountl(i64) local_unnamed_addr #0

define spir_func i64 @_Z8popcountl(i64 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z12_cl_popcountl(i64 %a)
  ret i64 %call
}


declare i64 @_Z12_cl_abs_diffll(i64, i64) local_unnamed_addr #0

define spir_func i64 @_Z8abs_diffll(i64 %a, i64 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z12_cl_abs_diffll(i64 %a, i64 %b)
  ret i64 %call
}


declare i64 @_Z11_cl_add_satll(i64, i64) local_unnamed_addr #0

define spir_func i64 @_Z7add_satll(i64 %a, i64 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z11_cl_add_satll(i64 %a, i64 %b)
  ret i64 %call
}


declare i64 @_Z8_cl_haddll(i64, i64) local_unnamed_addr #0

define spir_func i64 @_Z4haddll(i64 %a, i64 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z8_cl_haddll(i64 %a, i64 %b)
  ret i64 %call
}


declare i64 @_Z7_cl_maxll(i64, i64) local_unnamed_addr #0

define spir_func i64 @_Z3maxll(i64 %a, i64 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z7_cl_maxll(i64 %a, i64 %b)
  ret i64 %call
}


declare i64 @_Z7_cl_minll(i64, i64) local_unnamed_addr #0

define spir_func i64 @_Z3minll(i64 %a, i64 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z7_cl_minll(i64 %a, i64 %b)
  ret i64 %call
}


declare i64 @_Z10_cl_mul_hill(i64, i64) local_unnamed_addr #0

define spir_func i64 @_Z6mul_hill(i64 %a, i64 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z10_cl_mul_hill(i64 %a, i64 %b)
  ret i64 %call
}


declare i64 @_Z9_cl_rhaddll(i64, i64) local_unnamed_addr #0

define spir_func i64 @_Z5rhaddll(i64 %a, i64 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z9_cl_rhaddll(i64 %a, i64 %b)
  ret i64 %call
}


declare i64 @_Z10_cl_rotatell(i64, i64) local_unnamed_addr #0

define spir_func i64 @_Z6rotatell(i64 %a, i64 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z10_cl_rotatell(i64 %a, i64 %b)
  ret i64 %call
}


declare i64 @_Z11_cl_sub_satll(i64, i64) local_unnamed_addr #0

define spir_func i64 @_Z7sub_satll(i64 %a, i64 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z11_cl_sub_satll(i64 %a, i64 %b)
  ret i64 %call
}


declare i64 @_Z13_cl_bitselectlll(i64, i64, i64) local_unnamed_addr #0

define spir_func i64 @_Z9bitselectlll(i64 %a, i64 %b, i64 %c) local_unnamed_addr #0 {
  %call = tail call i64 @_Z13_cl_bitselectlll(i64 %a, i64 %b, i64 %c)
  ret i64 %call
}


declare i64 @_Z9_cl_clamplll(i64, i64, i64) local_unnamed_addr #0

define spir_func i64 @_Z5clamplll(i64 %a, i64 %b, i64 %c) local_unnamed_addr #0 {
  %call = tail call i64 @_Z9_cl_clamplll(i64 %a, i64 %b, i64 %c)
  ret i64 %call
}


declare i64 @_Z10_cl_mad_hilll(i64, i64, i64) local_unnamed_addr #0

define spir_func i64 @_Z6mad_hilll(i64 %a, i64 %b, i64 %c) local_unnamed_addr #0 {
  %call = tail call i64 @_Z10_cl_mad_hilll(i64 %a, i64 %b, i64 %c)
  ret i64 %call
}


declare i64 @_Z11_cl_mad_satlll(i64, i64, i64) local_unnamed_addr #0

define spir_func i64 @_Z7mad_satlll(i64 %a, i64 %b, i64 %c) local_unnamed_addr #0 {
  %call = tail call i64 @_Z11_cl_mad_satlll(i64 %a, i64 %b, i64 %c)
  ret i64 %call
}


declare i32 @_Z7_cl_anyl(i64) local_unnamed_addr #0

define spir_func i32 @_Z3anyl(i64 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_anyl(i64 %a)
  ret i32 %call
}


declare i32 @_Z7_cl_alll(i64) local_unnamed_addr #0

define spir_func i32 @_Z3alll(i64 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_alll(i64 %a)
  ret i32 %call
}


declare <2 x i64> @_Z7_cl_absDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z3absDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z7_cl_absDv2_l(<2 x i64> %a)
  ret <2 x i64> %call
}


declare <2 x i64> @_Z7_cl_clzDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z3clzDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z7_cl_clzDv2_l(<2 x i64> %a)
  ret <2 x i64> %call
}


declare <2 x i64> @_Z12_cl_popcountDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z8popcountDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z12_cl_popcountDv2_l(<2 x i64> %a)
  ret <2 x i64> %call
}


declare <2 x i64> @_Z12_cl_abs_diffDv2_lS_(<2 x i64>, <2 x i64>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z8abs_diffDv2_lS_(<2 x i64> %a, <2 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z12_cl_abs_diffDv2_lS_(<2 x i64> %a, <2 x i64> %b)
  ret <2 x i64> %call
}


declare <2 x i64> @_Z11_cl_add_satDv2_lS_(<2 x i64>, <2 x i64>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z7add_satDv2_lS_(<2 x i64> %a, <2 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z11_cl_add_satDv2_lS_(<2 x i64> %a, <2 x i64> %b)
  ret <2 x i64> %call
}


declare <2 x i64> @_Z8_cl_haddDv2_lS_(<2 x i64>, <2 x i64>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z4haddDv2_lS_(<2 x i64> %a, <2 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z8_cl_haddDv2_lS_(<2 x i64> %a, <2 x i64> %b)
  ret <2 x i64> %call
}


declare <2 x i64> @_Z7_cl_maxDv2_lS_(<2 x i64>, <2 x i64>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z3maxDv2_lS_(<2 x i64> %a, <2 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z7_cl_maxDv2_lS_(<2 x i64> %a, <2 x i64> %b)
  ret <2 x i64> %call
}


declare <2 x i64> @_Z7_cl_minDv2_lS_(<2 x i64>, <2 x i64>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z3minDv2_lS_(<2 x i64> %a, <2 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z7_cl_minDv2_lS_(<2 x i64> %a, <2 x i64> %b)
  ret <2 x i64> %call
}


declare <2 x i64> @_Z10_cl_mul_hiDv2_lS_(<2 x i64>, <2 x i64>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z6mul_hiDv2_lS_(<2 x i64> %a, <2 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z10_cl_mul_hiDv2_lS_(<2 x i64> %a, <2 x i64> %b)
  ret <2 x i64> %call
}


declare <2 x i64> @_Z9_cl_rhaddDv2_lS_(<2 x i64>, <2 x i64>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z5rhaddDv2_lS_(<2 x i64> %a, <2 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z9_cl_rhaddDv2_lS_(<2 x i64> %a, <2 x i64> %b)
  ret <2 x i64> %call
}


declare <2 x i64> @_Z10_cl_rotateDv2_lS_(<2 x i64>, <2 x i64>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z6rotateDv2_lS_(<2 x i64> %a, <2 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z10_cl_rotateDv2_lS_(<2 x i64> %a, <2 x i64> %b)
  ret <2 x i64> %call
}


declare <2 x i64> @_Z11_cl_sub_satDv2_lS_(<2 x i64>, <2 x i64>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z7sub_satDv2_lS_(<2 x i64> %a, <2 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z11_cl_sub_satDv2_lS_(<2 x i64> %a, <2 x i64> %b)
  ret <2 x i64> %call
}


declare <2 x i64> @_Z13_cl_bitselectDv2_lS_S_(<2 x i64>, <2 x i64>, <2 x i64>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z9bitselectDv2_lS_S_(<2 x i64> %a, <2 x i64> %b, <2 x i64> %c) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z13_cl_bitselectDv2_lS_S_(<2 x i64> %a, <2 x i64> %b, <2 x i64> %c)
  ret <2 x i64> %call
}


declare <2 x i64> @_Z9_cl_clampDv2_lS_S_(<2 x i64>, <2 x i64>, <2 x i64>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z5clampDv2_lS_S_(<2 x i64> %a, <2 x i64> %b, <2 x i64> %c) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z9_cl_clampDv2_lS_S_(<2 x i64> %a, <2 x i64> %b, <2 x i64> %c)
  ret <2 x i64> %call
}


declare <2 x i64> @_Z10_cl_mad_hiDv2_lS_S_(<2 x i64>, <2 x i64>, <2 x i64>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z6mad_hiDv2_lS_S_(<2 x i64> %a, <2 x i64> %b, <2 x i64> %c) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z10_cl_mad_hiDv2_lS_S_(<2 x i64> %a, <2 x i64> %b, <2 x i64> %c)
  ret <2 x i64> %call
}


declare <2 x i64> @_Z11_cl_mad_satDv2_lS_S_(<2 x i64>, <2 x i64>, <2 x i64>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z7mad_satDv2_lS_S_(<2 x i64> %a, <2 x i64> %b, <2 x i64> %c) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z11_cl_mad_satDv2_lS_S_(<2 x i64> %a, <2 x i64> %b, <2 x i64> %c)
  ret <2 x i64> %call
}


declare i32 @_Z7_cl_anyDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func i32 @_Z3anyDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_anyDv2_l(<2 x i64> %a)
  ret i32 %call
}


declare i32 @_Z7_cl_allDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func i32 @_Z3allDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_allDv2_l(<2 x i64> %a)
  ret i32 %call
}


declare <3 x i64> @_Z7_cl_absDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z3absDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z7_cl_absDv3_l(<3 x i64> %a)
  ret <3 x i64> %call
}


declare <3 x i64> @_Z7_cl_clzDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z3clzDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z7_cl_clzDv3_l(<3 x i64> %a)
  ret <3 x i64> %call
}


declare <3 x i64> @_Z12_cl_popcountDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z8popcountDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z12_cl_popcountDv3_l(<3 x i64> %a)
  ret <3 x i64> %call
}


declare <3 x i64> @_Z12_cl_abs_diffDv3_lS_(<3 x i64>, <3 x i64>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z8abs_diffDv3_lS_(<3 x i64> %a, <3 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z12_cl_abs_diffDv3_lS_(<3 x i64> %a, <3 x i64> %b)
  ret <3 x i64> %call
}


declare <3 x i64> @_Z11_cl_add_satDv3_lS_(<3 x i64>, <3 x i64>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z7add_satDv3_lS_(<3 x i64> %a, <3 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z11_cl_add_satDv3_lS_(<3 x i64> %a, <3 x i64> %b)
  ret <3 x i64> %call
}


declare <3 x i64> @_Z8_cl_haddDv3_lS_(<3 x i64>, <3 x i64>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z4haddDv3_lS_(<3 x i64> %a, <3 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z8_cl_haddDv3_lS_(<3 x i64> %a, <3 x i64> %b)
  ret <3 x i64> %call
}


declare <3 x i64> @_Z7_cl_maxDv3_lS_(<3 x i64>, <3 x i64>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z3maxDv3_lS_(<3 x i64> %a, <3 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z7_cl_maxDv3_lS_(<3 x i64> %a, <3 x i64> %b)
  ret <3 x i64> %call
}


declare <3 x i64> @_Z7_cl_minDv3_lS_(<3 x i64>, <3 x i64>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z3minDv3_lS_(<3 x i64> %a, <3 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z7_cl_minDv3_lS_(<3 x i64> %a, <3 x i64> %b)
  ret <3 x i64> %call
}


declare <3 x i64> @_Z10_cl_mul_hiDv3_lS_(<3 x i64>, <3 x i64>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z6mul_hiDv3_lS_(<3 x i64> %a, <3 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z10_cl_mul_hiDv3_lS_(<3 x i64> %a, <3 x i64> %b)
  ret <3 x i64> %call
}


declare <3 x i64> @_Z9_cl_rhaddDv3_lS_(<3 x i64>, <3 x i64>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z5rhaddDv3_lS_(<3 x i64> %a, <3 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z9_cl_rhaddDv3_lS_(<3 x i64> %a, <3 x i64> %b)
  ret <3 x i64> %call
}


declare <3 x i64> @_Z10_cl_rotateDv3_lS_(<3 x i64>, <3 x i64>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z6rotateDv3_lS_(<3 x i64> %a, <3 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z10_cl_rotateDv3_lS_(<3 x i64> %a, <3 x i64> %b)
  ret <3 x i64> %call
}


declare <3 x i64> @_Z11_cl_sub_satDv3_lS_(<3 x i64>, <3 x i64>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z7sub_satDv3_lS_(<3 x i64> %a, <3 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z11_cl_sub_satDv3_lS_(<3 x i64> %a, <3 x i64> %b)
  ret <3 x i64> %call
}


declare <3 x i64> @_Z13_cl_bitselectDv3_lS_S_(<3 x i64>, <3 x i64>, <3 x i64>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z9bitselectDv3_lS_S_(<3 x i64> %a, <3 x i64> %b, <3 x i64> %c) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z13_cl_bitselectDv3_lS_S_(<3 x i64> %a, <3 x i64> %b, <3 x i64> %c)
  ret <3 x i64> %call
}


declare <3 x i64> @_Z9_cl_clampDv3_lS_S_(<3 x i64>, <3 x i64>, <3 x i64>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z5clampDv3_lS_S_(<3 x i64> %a, <3 x i64> %b, <3 x i64> %c) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z9_cl_clampDv3_lS_S_(<3 x i64> %a, <3 x i64> %b, <3 x i64> %c)
  ret <3 x i64> %call
}


declare <3 x i64> @_Z10_cl_mad_hiDv3_lS_S_(<3 x i64>, <3 x i64>, <3 x i64>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z6mad_hiDv3_lS_S_(<3 x i64> %a, <3 x i64> %b, <3 x i64> %c) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z10_cl_mad_hiDv3_lS_S_(<3 x i64> %a, <3 x i64> %b, <3 x i64> %c)
  ret <3 x i64> %call
}


declare <3 x i64> @_Z11_cl_mad_satDv3_lS_S_(<3 x i64>, <3 x i64>, <3 x i64>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z7mad_satDv3_lS_S_(<3 x i64> %a, <3 x i64> %b, <3 x i64> %c) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z11_cl_mad_satDv3_lS_S_(<3 x i64> %a, <3 x i64> %b, <3 x i64> %c)
  ret <3 x i64> %call
}


declare i32 @_Z7_cl_anyDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func i32 @_Z3anyDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_anyDv3_l(<3 x i64> %a)
  ret i32 %call
}


declare i32 @_Z7_cl_allDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func i32 @_Z3allDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_allDv3_l(<3 x i64> %a)
  ret i32 %call
}


declare <4 x i64> @_Z7_cl_absDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z3absDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z7_cl_absDv4_l(<4 x i64> %a)
  ret <4 x i64> %call
}


declare <4 x i64> @_Z7_cl_clzDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z3clzDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z7_cl_clzDv4_l(<4 x i64> %a)
  ret <4 x i64> %call
}


declare <4 x i64> @_Z12_cl_popcountDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z8popcountDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z12_cl_popcountDv4_l(<4 x i64> %a)
  ret <4 x i64> %call
}


declare <4 x i64> @_Z12_cl_abs_diffDv4_lS_(<4 x i64>, <4 x i64>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z8abs_diffDv4_lS_(<4 x i64> %a, <4 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z12_cl_abs_diffDv4_lS_(<4 x i64> %a, <4 x i64> %b)
  ret <4 x i64> %call
}


declare <4 x i64> @_Z11_cl_add_satDv4_lS_(<4 x i64>, <4 x i64>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z7add_satDv4_lS_(<4 x i64> %a, <4 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z11_cl_add_satDv4_lS_(<4 x i64> %a, <4 x i64> %b)
  ret <4 x i64> %call
}


declare <4 x i64> @_Z8_cl_haddDv4_lS_(<4 x i64>, <4 x i64>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z4haddDv4_lS_(<4 x i64> %a, <4 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z8_cl_haddDv4_lS_(<4 x i64> %a, <4 x i64> %b)
  ret <4 x i64> %call
}


declare <4 x i64> @_Z7_cl_maxDv4_lS_(<4 x i64>, <4 x i64>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z3maxDv4_lS_(<4 x i64> %a, <4 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z7_cl_maxDv4_lS_(<4 x i64> %a, <4 x i64> %b)
  ret <4 x i64> %call
}


declare <4 x i64> @_Z7_cl_minDv4_lS_(<4 x i64>, <4 x i64>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z3minDv4_lS_(<4 x i64> %a, <4 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z7_cl_minDv4_lS_(<4 x i64> %a, <4 x i64> %b)
  ret <4 x i64> %call
}


declare <4 x i64> @_Z10_cl_mul_hiDv4_lS_(<4 x i64>, <4 x i64>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z6mul_hiDv4_lS_(<4 x i64> %a, <4 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z10_cl_mul_hiDv4_lS_(<4 x i64> %a, <4 x i64> %b)
  ret <4 x i64> %call
}


declare <4 x i64> @_Z9_cl_rhaddDv4_lS_(<4 x i64>, <4 x i64>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z5rhaddDv4_lS_(<4 x i64> %a, <4 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z9_cl_rhaddDv4_lS_(<4 x i64> %a, <4 x i64> %b)
  ret <4 x i64> %call
}


declare <4 x i64> @_Z10_cl_rotateDv4_lS_(<4 x i64>, <4 x i64>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z6rotateDv4_lS_(<4 x i64> %a, <4 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z10_cl_rotateDv4_lS_(<4 x i64> %a, <4 x i64> %b)
  ret <4 x i64> %call
}


declare <4 x i64> @_Z11_cl_sub_satDv4_lS_(<4 x i64>, <4 x i64>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z7sub_satDv4_lS_(<4 x i64> %a, <4 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z11_cl_sub_satDv4_lS_(<4 x i64> %a, <4 x i64> %b)
  ret <4 x i64> %call
}


declare <4 x i64> @_Z13_cl_bitselectDv4_lS_S_(<4 x i64>, <4 x i64>, <4 x i64>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z9bitselectDv4_lS_S_(<4 x i64> %a, <4 x i64> %b, <4 x i64> %c) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z13_cl_bitselectDv4_lS_S_(<4 x i64> %a, <4 x i64> %b, <4 x i64> %c)
  ret <4 x i64> %call
}


declare <4 x i64> @_Z9_cl_clampDv4_lS_S_(<4 x i64>, <4 x i64>, <4 x i64>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z5clampDv4_lS_S_(<4 x i64> %a, <4 x i64> %b, <4 x i64> %c) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z9_cl_clampDv4_lS_S_(<4 x i64> %a, <4 x i64> %b, <4 x i64> %c)
  ret <4 x i64> %call
}


declare <4 x i64> @_Z10_cl_mad_hiDv4_lS_S_(<4 x i64>, <4 x i64>, <4 x i64>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z6mad_hiDv4_lS_S_(<4 x i64> %a, <4 x i64> %b, <4 x i64> %c) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z10_cl_mad_hiDv4_lS_S_(<4 x i64> %a, <4 x i64> %b, <4 x i64> %c)
  ret <4 x i64> %call
}


declare <4 x i64> @_Z11_cl_mad_satDv4_lS_S_(<4 x i64>, <4 x i64>, <4 x i64>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z7mad_satDv4_lS_S_(<4 x i64> %a, <4 x i64> %b, <4 x i64> %c) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z11_cl_mad_satDv4_lS_S_(<4 x i64> %a, <4 x i64> %b, <4 x i64> %c)
  ret <4 x i64> %call
}


declare i32 @_Z7_cl_anyDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func i32 @_Z3anyDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_anyDv4_l(<4 x i64> %a)
  ret i32 %call
}


declare i32 @_Z7_cl_allDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func i32 @_Z3allDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_allDv4_l(<4 x i64> %a)
  ret i32 %call
}


declare <8 x i64> @_Z7_cl_absDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z3absDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z7_cl_absDv8_l(<8 x i64> %a)
  ret <8 x i64> %call
}


declare <8 x i64> @_Z7_cl_clzDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z3clzDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z7_cl_clzDv8_l(<8 x i64> %a)
  ret <8 x i64> %call
}


declare <8 x i64> @_Z12_cl_popcountDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z8popcountDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z12_cl_popcountDv8_l(<8 x i64> %a)
  ret <8 x i64> %call
}


declare <8 x i64> @_Z12_cl_abs_diffDv8_lS_(<8 x i64>, <8 x i64>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z8abs_diffDv8_lS_(<8 x i64> %a, <8 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z12_cl_abs_diffDv8_lS_(<8 x i64> %a, <8 x i64> %b)
  ret <8 x i64> %call
}


declare <8 x i64> @_Z11_cl_add_satDv8_lS_(<8 x i64>, <8 x i64>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z7add_satDv8_lS_(<8 x i64> %a, <8 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z11_cl_add_satDv8_lS_(<8 x i64> %a, <8 x i64> %b)
  ret <8 x i64> %call
}


declare <8 x i64> @_Z8_cl_haddDv8_lS_(<8 x i64>, <8 x i64>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z4haddDv8_lS_(<8 x i64> %a, <8 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z8_cl_haddDv8_lS_(<8 x i64> %a, <8 x i64> %b)
  ret <8 x i64> %call
}


declare <8 x i64> @_Z7_cl_maxDv8_lS_(<8 x i64>, <8 x i64>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z3maxDv8_lS_(<8 x i64> %a, <8 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z7_cl_maxDv8_lS_(<8 x i64> %a, <8 x i64> %b)
  ret <8 x i64> %call
}


declare <8 x i64> @_Z7_cl_minDv8_lS_(<8 x i64>, <8 x i64>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z3minDv8_lS_(<8 x i64> %a, <8 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z7_cl_minDv8_lS_(<8 x i64> %a, <8 x i64> %b)
  ret <8 x i64> %call
}


declare <8 x i64> @_Z10_cl_mul_hiDv8_lS_(<8 x i64>, <8 x i64>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z6mul_hiDv8_lS_(<8 x i64> %a, <8 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z10_cl_mul_hiDv8_lS_(<8 x i64> %a, <8 x i64> %b)
  ret <8 x i64> %call
}


declare <8 x i64> @_Z9_cl_rhaddDv8_lS_(<8 x i64>, <8 x i64>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z5rhaddDv8_lS_(<8 x i64> %a, <8 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z9_cl_rhaddDv8_lS_(<8 x i64> %a, <8 x i64> %b)
  ret <8 x i64> %call
}


declare <8 x i64> @_Z10_cl_rotateDv8_lS_(<8 x i64>, <8 x i64>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z6rotateDv8_lS_(<8 x i64> %a, <8 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z10_cl_rotateDv8_lS_(<8 x i64> %a, <8 x i64> %b)
  ret <8 x i64> %call
}


declare <8 x i64> @_Z11_cl_sub_satDv8_lS_(<8 x i64>, <8 x i64>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z7sub_satDv8_lS_(<8 x i64> %a, <8 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z11_cl_sub_satDv8_lS_(<8 x i64> %a, <8 x i64> %b)
  ret <8 x i64> %call
}


declare <8 x i64> @_Z13_cl_bitselectDv8_lS_S_(<8 x i64>, <8 x i64>, <8 x i64>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z9bitselectDv8_lS_S_(<8 x i64> %a, <8 x i64> %b, <8 x i64> %c) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z13_cl_bitselectDv8_lS_S_(<8 x i64> %a, <8 x i64> %b, <8 x i64> %c)
  ret <8 x i64> %call
}


declare <8 x i64> @_Z9_cl_clampDv8_lS_S_(<8 x i64>, <8 x i64>, <8 x i64>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z5clampDv8_lS_S_(<8 x i64> %a, <8 x i64> %b, <8 x i64> %c) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z9_cl_clampDv8_lS_S_(<8 x i64> %a, <8 x i64> %b, <8 x i64> %c)
  ret <8 x i64> %call
}


declare <8 x i64> @_Z10_cl_mad_hiDv8_lS_S_(<8 x i64>, <8 x i64>, <8 x i64>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z6mad_hiDv8_lS_S_(<8 x i64> %a, <8 x i64> %b, <8 x i64> %c) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z10_cl_mad_hiDv8_lS_S_(<8 x i64> %a, <8 x i64> %b, <8 x i64> %c)
  ret <8 x i64> %call
}


declare <8 x i64> @_Z11_cl_mad_satDv8_lS_S_(<8 x i64>, <8 x i64>, <8 x i64>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z7mad_satDv8_lS_S_(<8 x i64> %a, <8 x i64> %b, <8 x i64> %c) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z11_cl_mad_satDv8_lS_S_(<8 x i64> %a, <8 x i64> %b, <8 x i64> %c)
  ret <8 x i64> %call
}


declare i32 @_Z7_cl_anyDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func i32 @_Z3anyDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_anyDv8_l(<8 x i64> %a)
  ret i32 %call
}


declare i32 @_Z7_cl_allDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func i32 @_Z3allDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_allDv8_l(<8 x i64> %a)
  ret i32 %call
}


declare <16 x i64> @_Z7_cl_absDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z3absDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z7_cl_absDv16_l(<16 x i64> %a)
  ret <16 x i64> %call
}


declare <16 x i64> @_Z7_cl_clzDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z3clzDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z7_cl_clzDv16_l(<16 x i64> %a)
  ret <16 x i64> %call
}


declare <16 x i64> @_Z12_cl_popcountDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z8popcountDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z12_cl_popcountDv16_l(<16 x i64> %a)
  ret <16 x i64> %call
}


declare <16 x i64> @_Z12_cl_abs_diffDv16_lS_(<16 x i64>, <16 x i64>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z8abs_diffDv16_lS_(<16 x i64> %a, <16 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z12_cl_abs_diffDv16_lS_(<16 x i64> %a, <16 x i64> %b)
  ret <16 x i64> %call
}


declare <16 x i64> @_Z11_cl_add_satDv16_lS_(<16 x i64>, <16 x i64>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z7add_satDv16_lS_(<16 x i64> %a, <16 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z11_cl_add_satDv16_lS_(<16 x i64> %a, <16 x i64> %b)
  ret <16 x i64> %call
}


declare <16 x i64> @_Z8_cl_haddDv16_lS_(<16 x i64>, <16 x i64>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z4haddDv16_lS_(<16 x i64> %a, <16 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z8_cl_haddDv16_lS_(<16 x i64> %a, <16 x i64> %b)
  ret <16 x i64> %call
}


declare <16 x i64> @_Z7_cl_maxDv16_lS_(<16 x i64>, <16 x i64>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z3maxDv16_lS_(<16 x i64> %a, <16 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z7_cl_maxDv16_lS_(<16 x i64> %a, <16 x i64> %b)
  ret <16 x i64> %call
}


declare <16 x i64> @_Z7_cl_minDv16_lS_(<16 x i64>, <16 x i64>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z3minDv16_lS_(<16 x i64> %a, <16 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z7_cl_minDv16_lS_(<16 x i64> %a, <16 x i64> %b)
  ret <16 x i64> %call
}


declare <16 x i64> @_Z10_cl_mul_hiDv16_lS_(<16 x i64>, <16 x i64>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z6mul_hiDv16_lS_(<16 x i64> %a, <16 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z10_cl_mul_hiDv16_lS_(<16 x i64> %a, <16 x i64> %b)
  ret <16 x i64> %call
}


declare <16 x i64> @_Z9_cl_rhaddDv16_lS_(<16 x i64>, <16 x i64>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z5rhaddDv16_lS_(<16 x i64> %a, <16 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z9_cl_rhaddDv16_lS_(<16 x i64> %a, <16 x i64> %b)
  ret <16 x i64> %call
}


declare <16 x i64> @_Z10_cl_rotateDv16_lS_(<16 x i64>, <16 x i64>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z6rotateDv16_lS_(<16 x i64> %a, <16 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z10_cl_rotateDv16_lS_(<16 x i64> %a, <16 x i64> %b)
  ret <16 x i64> %call
}


declare <16 x i64> @_Z11_cl_sub_satDv16_lS_(<16 x i64>, <16 x i64>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z7sub_satDv16_lS_(<16 x i64> %a, <16 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z11_cl_sub_satDv16_lS_(<16 x i64> %a, <16 x i64> %b)
  ret <16 x i64> %call
}


declare <16 x i64> @_Z13_cl_bitselectDv16_lS_S_(<16 x i64>, <16 x i64>, <16 x i64>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z9bitselectDv16_lS_S_(<16 x i64> %a, <16 x i64> %b, <16 x i64> %c) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z13_cl_bitselectDv16_lS_S_(<16 x i64> %a, <16 x i64> %b, <16 x i64> %c)
  ret <16 x i64> %call
}


declare <16 x i64> @_Z9_cl_clampDv16_lS_S_(<16 x i64>, <16 x i64>, <16 x i64>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z5clampDv16_lS_S_(<16 x i64> %a, <16 x i64> %b, <16 x i64> %c) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z9_cl_clampDv16_lS_S_(<16 x i64> %a, <16 x i64> %b, <16 x i64> %c)
  ret <16 x i64> %call
}


declare <16 x i64> @_Z10_cl_mad_hiDv16_lS_S_(<16 x i64>, <16 x i64>, <16 x i64>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z6mad_hiDv16_lS_S_(<16 x i64> %a, <16 x i64> %b, <16 x i64> %c) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z10_cl_mad_hiDv16_lS_S_(<16 x i64> %a, <16 x i64> %b, <16 x i64> %c)
  ret <16 x i64> %call
}


declare <16 x i64> @_Z11_cl_mad_satDv16_lS_S_(<16 x i64>, <16 x i64>, <16 x i64>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z7mad_satDv16_lS_S_(<16 x i64> %a, <16 x i64> %b, <16 x i64> %c) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z11_cl_mad_satDv16_lS_S_(<16 x i64> %a, <16 x i64> %b, <16 x i64> %c)
  ret <16 x i64> %call
}


declare i32 @_Z7_cl_anyDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func i32 @_Z3anyDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_anyDv16_l(<16 x i64> %a)
  ret i32 %call
}


declare i32 @_Z7_cl_allDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func i32 @_Z3allDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_allDv16_l(<16 x i64> %a)
  ret i32 %call
}


declare i64 @_Z7_cl_absm(i64) local_unnamed_addr #0

define spir_func i64 @_Z3absm(i64 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z7_cl_absm(i64 %a)
  ret i64 %call
}


declare i64 @_Z7_cl_clzm(i64) local_unnamed_addr #0

define spir_func i64 @_Z3clzm(i64 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z7_cl_clzm(i64 %a)
  ret i64 %call
}


declare i64 @_Z12_cl_popcountm(i64) local_unnamed_addr #0

define spir_func i64 @_Z8popcountm(i64 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z12_cl_popcountm(i64 %a)
  ret i64 %call
}


declare i64 @_Z12_cl_abs_diffmm(i64, i64) local_unnamed_addr #0

define spir_func i64 @_Z8abs_diffmm(i64 %a, i64 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z12_cl_abs_diffmm(i64 %a, i64 %b)
  ret i64 %call
}


declare i64 @_Z11_cl_add_satmm(i64, i64) local_unnamed_addr #0

define spir_func i64 @_Z7add_satmm(i64 %a, i64 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z11_cl_add_satmm(i64 %a, i64 %b)
  ret i64 %call
}


declare i64 @_Z8_cl_haddmm(i64, i64) local_unnamed_addr #0

define spir_func i64 @_Z4haddmm(i64 %a, i64 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z8_cl_haddmm(i64 %a, i64 %b)
  ret i64 %call
}


declare i64 @_Z7_cl_maxmm(i64, i64) local_unnamed_addr #0

define spir_func i64 @_Z3maxmm(i64 %a, i64 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z7_cl_maxmm(i64 %a, i64 %b)
  ret i64 %call
}


declare i64 @_Z7_cl_minmm(i64, i64) local_unnamed_addr #0

define spir_func i64 @_Z3minmm(i64 %a, i64 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z7_cl_minmm(i64 %a, i64 %b)
  ret i64 %call
}


declare i64 @_Z10_cl_mul_himm(i64, i64) local_unnamed_addr #0

define spir_func i64 @_Z6mul_himm(i64 %a, i64 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z10_cl_mul_himm(i64 %a, i64 %b)
  ret i64 %call
}


declare i64 @_Z9_cl_rhaddmm(i64, i64) local_unnamed_addr #0

define spir_func i64 @_Z5rhaddmm(i64 %a, i64 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z9_cl_rhaddmm(i64 %a, i64 %b)
  ret i64 %call
}


declare i64 @_Z10_cl_rotatemm(i64, i64) local_unnamed_addr #0

define spir_func i64 @_Z6rotatemm(i64 %a, i64 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z10_cl_rotatemm(i64 %a, i64 %b)
  ret i64 %call
}


declare i64 @_Z11_cl_sub_satmm(i64, i64) local_unnamed_addr #0

define spir_func i64 @_Z7sub_satmm(i64 %a, i64 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z11_cl_sub_satmm(i64 %a, i64 %b)
  ret i64 %call
}


declare i64 @_Z13_cl_bitselectmmm(i64, i64, i64) local_unnamed_addr #0

define spir_func i64 @_Z9bitselectmmm(i64 %a, i64 %b, i64 %c) local_unnamed_addr #0 {
  %call = tail call i64 @_Z13_cl_bitselectmmm(i64 %a, i64 %b, i64 %c)
  ret i64 %call
}


declare i64 @_Z9_cl_clampmmm(i64, i64, i64) local_unnamed_addr #0

define spir_func i64 @_Z5clampmmm(i64 %a, i64 %b, i64 %c) local_unnamed_addr #0 {
  %call = tail call i64 @_Z9_cl_clampmmm(i64 %a, i64 %b, i64 %c)
  ret i64 %call
}


declare i64 @_Z10_cl_mad_himmm(i64, i64, i64) local_unnamed_addr #0

define spir_func i64 @_Z6mad_himmm(i64 %a, i64 %b, i64 %c) local_unnamed_addr #0 {
  %call = tail call i64 @_Z10_cl_mad_himmm(i64 %a, i64 %b, i64 %c)
  ret i64 %call
}


declare i64 @_Z11_cl_mad_satmmm(i64, i64, i64) local_unnamed_addr #0

define spir_func i64 @_Z7mad_satmmm(i64 %a, i64 %b, i64 %c) local_unnamed_addr #0 {
  %call = tail call i64 @_Z11_cl_mad_satmmm(i64 %a, i64 %b, i64 %c)
  ret i64 %call
}


declare i32 @_Z7_cl_anym(i64) local_unnamed_addr #0

define spir_func i32 @_Z3anym(i64 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_anym(i64 %a)
  ret i32 %call
}


declare i32 @_Z7_cl_allm(i64) local_unnamed_addr #0

define spir_func i32 @_Z3allm(i64 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_allm(i64 %a)
  ret i32 %call
}


declare <2 x i64> @_Z7_cl_absDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z3absDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z7_cl_absDv2_m(<2 x i64> %a)
  ret <2 x i64> %call
}


declare <2 x i64> @_Z7_cl_clzDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z3clzDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z7_cl_clzDv2_m(<2 x i64> %a)
  ret <2 x i64> %call
}


declare <2 x i64> @_Z12_cl_popcountDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z8popcountDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z12_cl_popcountDv2_m(<2 x i64> %a)
  ret <2 x i64> %call
}


declare <2 x i64> @_Z12_cl_abs_diffDv2_mS_(<2 x i64>, <2 x i64>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z8abs_diffDv2_mS_(<2 x i64> %a, <2 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z12_cl_abs_diffDv2_mS_(<2 x i64> %a, <2 x i64> %b)
  ret <2 x i64> %call
}


declare <2 x i64> @_Z11_cl_add_satDv2_mS_(<2 x i64>, <2 x i64>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z7add_satDv2_mS_(<2 x i64> %a, <2 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z11_cl_add_satDv2_mS_(<2 x i64> %a, <2 x i64> %b)
  ret <2 x i64> %call
}


declare <2 x i64> @_Z8_cl_haddDv2_mS_(<2 x i64>, <2 x i64>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z4haddDv2_mS_(<2 x i64> %a, <2 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z8_cl_haddDv2_mS_(<2 x i64> %a, <2 x i64> %b)
  ret <2 x i64> %call
}


declare <2 x i64> @_Z7_cl_maxDv2_mS_(<2 x i64>, <2 x i64>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z3maxDv2_mS_(<2 x i64> %a, <2 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z7_cl_maxDv2_mS_(<2 x i64> %a, <2 x i64> %b)
  ret <2 x i64> %call
}


declare <2 x i64> @_Z7_cl_minDv2_mS_(<2 x i64>, <2 x i64>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z3minDv2_mS_(<2 x i64> %a, <2 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z7_cl_minDv2_mS_(<2 x i64> %a, <2 x i64> %b)
  ret <2 x i64> %call
}


declare <2 x i64> @_Z10_cl_mul_hiDv2_mS_(<2 x i64>, <2 x i64>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z6mul_hiDv2_mS_(<2 x i64> %a, <2 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z10_cl_mul_hiDv2_mS_(<2 x i64> %a, <2 x i64> %b)
  ret <2 x i64> %call
}


declare <2 x i64> @_Z9_cl_rhaddDv2_mS_(<2 x i64>, <2 x i64>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z5rhaddDv2_mS_(<2 x i64> %a, <2 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z9_cl_rhaddDv2_mS_(<2 x i64> %a, <2 x i64> %b)
  ret <2 x i64> %call
}


declare <2 x i64> @_Z10_cl_rotateDv2_mS_(<2 x i64>, <2 x i64>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z6rotateDv2_mS_(<2 x i64> %a, <2 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z10_cl_rotateDv2_mS_(<2 x i64> %a, <2 x i64> %b)
  ret <2 x i64> %call
}


declare <2 x i64> @_Z11_cl_sub_satDv2_mS_(<2 x i64>, <2 x i64>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z7sub_satDv2_mS_(<2 x i64> %a, <2 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z11_cl_sub_satDv2_mS_(<2 x i64> %a, <2 x i64> %b)
  ret <2 x i64> %call
}


declare <2 x i64> @_Z13_cl_bitselectDv2_mS_S_(<2 x i64>, <2 x i64>, <2 x i64>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z9bitselectDv2_mS_S_(<2 x i64> %a, <2 x i64> %b, <2 x i64> %c) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z13_cl_bitselectDv2_mS_S_(<2 x i64> %a, <2 x i64> %b, <2 x i64> %c)
  ret <2 x i64> %call
}


declare <2 x i64> @_Z9_cl_clampDv2_mS_S_(<2 x i64>, <2 x i64>, <2 x i64>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z5clampDv2_mS_S_(<2 x i64> %a, <2 x i64> %b, <2 x i64> %c) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z9_cl_clampDv2_mS_S_(<2 x i64> %a, <2 x i64> %b, <2 x i64> %c)
  ret <2 x i64> %call
}


declare <2 x i64> @_Z10_cl_mad_hiDv2_mS_S_(<2 x i64>, <2 x i64>, <2 x i64>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z6mad_hiDv2_mS_S_(<2 x i64> %a, <2 x i64> %b, <2 x i64> %c) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z10_cl_mad_hiDv2_mS_S_(<2 x i64> %a, <2 x i64> %b, <2 x i64> %c)
  ret <2 x i64> %call
}


declare <2 x i64> @_Z11_cl_mad_satDv2_mS_S_(<2 x i64>, <2 x i64>, <2 x i64>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z7mad_satDv2_mS_S_(<2 x i64> %a, <2 x i64> %b, <2 x i64> %c) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z11_cl_mad_satDv2_mS_S_(<2 x i64> %a, <2 x i64> %b, <2 x i64> %c)
  ret <2 x i64> %call
}


declare i32 @_Z7_cl_anyDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func i32 @_Z3anyDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_anyDv2_m(<2 x i64> %a)
  ret i32 %call
}


declare i32 @_Z7_cl_allDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func i32 @_Z3allDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_allDv2_m(<2 x i64> %a)
  ret i32 %call
}


declare <3 x i64> @_Z7_cl_absDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z3absDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z7_cl_absDv3_m(<3 x i64> %a)
  ret <3 x i64> %call
}


declare <3 x i64> @_Z7_cl_clzDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z3clzDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z7_cl_clzDv3_m(<3 x i64> %a)
  ret <3 x i64> %call
}


declare <3 x i64> @_Z12_cl_popcountDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z8popcountDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z12_cl_popcountDv3_m(<3 x i64> %a)
  ret <3 x i64> %call
}


declare <3 x i64> @_Z12_cl_abs_diffDv3_mS_(<3 x i64>, <3 x i64>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z8abs_diffDv3_mS_(<3 x i64> %a, <3 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z12_cl_abs_diffDv3_mS_(<3 x i64> %a, <3 x i64> %b)
  ret <3 x i64> %call
}


declare <3 x i64> @_Z11_cl_add_satDv3_mS_(<3 x i64>, <3 x i64>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z7add_satDv3_mS_(<3 x i64> %a, <3 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z11_cl_add_satDv3_mS_(<3 x i64> %a, <3 x i64> %b)
  ret <3 x i64> %call
}


declare <3 x i64> @_Z8_cl_haddDv3_mS_(<3 x i64>, <3 x i64>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z4haddDv3_mS_(<3 x i64> %a, <3 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z8_cl_haddDv3_mS_(<3 x i64> %a, <3 x i64> %b)
  ret <3 x i64> %call
}


declare <3 x i64> @_Z7_cl_maxDv3_mS_(<3 x i64>, <3 x i64>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z3maxDv3_mS_(<3 x i64> %a, <3 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z7_cl_maxDv3_mS_(<3 x i64> %a, <3 x i64> %b)
  ret <3 x i64> %call
}


declare <3 x i64> @_Z7_cl_minDv3_mS_(<3 x i64>, <3 x i64>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z3minDv3_mS_(<3 x i64> %a, <3 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z7_cl_minDv3_mS_(<3 x i64> %a, <3 x i64> %b)
  ret <3 x i64> %call
}


declare <3 x i64> @_Z10_cl_mul_hiDv3_mS_(<3 x i64>, <3 x i64>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z6mul_hiDv3_mS_(<3 x i64> %a, <3 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z10_cl_mul_hiDv3_mS_(<3 x i64> %a, <3 x i64> %b)
  ret <3 x i64> %call
}


declare <3 x i64> @_Z9_cl_rhaddDv3_mS_(<3 x i64>, <3 x i64>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z5rhaddDv3_mS_(<3 x i64> %a, <3 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z9_cl_rhaddDv3_mS_(<3 x i64> %a, <3 x i64> %b)
  ret <3 x i64> %call
}


declare <3 x i64> @_Z10_cl_rotateDv3_mS_(<3 x i64>, <3 x i64>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z6rotateDv3_mS_(<3 x i64> %a, <3 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z10_cl_rotateDv3_mS_(<3 x i64> %a, <3 x i64> %b)
  ret <3 x i64> %call
}


declare <3 x i64> @_Z11_cl_sub_satDv3_mS_(<3 x i64>, <3 x i64>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z7sub_satDv3_mS_(<3 x i64> %a, <3 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z11_cl_sub_satDv3_mS_(<3 x i64> %a, <3 x i64> %b)
  ret <3 x i64> %call
}


declare <3 x i64> @_Z13_cl_bitselectDv3_mS_S_(<3 x i64>, <3 x i64>, <3 x i64>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z9bitselectDv3_mS_S_(<3 x i64> %a, <3 x i64> %b, <3 x i64> %c) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z13_cl_bitselectDv3_mS_S_(<3 x i64> %a, <3 x i64> %b, <3 x i64> %c)
  ret <3 x i64> %call
}


declare <3 x i64> @_Z9_cl_clampDv3_mS_S_(<3 x i64>, <3 x i64>, <3 x i64>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z5clampDv3_mS_S_(<3 x i64> %a, <3 x i64> %b, <3 x i64> %c) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z9_cl_clampDv3_mS_S_(<3 x i64> %a, <3 x i64> %b, <3 x i64> %c)
  ret <3 x i64> %call
}


declare <3 x i64> @_Z10_cl_mad_hiDv3_mS_S_(<3 x i64>, <3 x i64>, <3 x i64>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z6mad_hiDv3_mS_S_(<3 x i64> %a, <3 x i64> %b, <3 x i64> %c) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z10_cl_mad_hiDv3_mS_S_(<3 x i64> %a, <3 x i64> %b, <3 x i64> %c)
  ret <3 x i64> %call
}


declare <3 x i64> @_Z11_cl_mad_satDv3_mS_S_(<3 x i64>, <3 x i64>, <3 x i64>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z7mad_satDv3_mS_S_(<3 x i64> %a, <3 x i64> %b, <3 x i64> %c) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z11_cl_mad_satDv3_mS_S_(<3 x i64> %a, <3 x i64> %b, <3 x i64> %c)
  ret <3 x i64> %call
}


declare i32 @_Z7_cl_anyDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func i32 @_Z3anyDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_anyDv3_m(<3 x i64> %a)
  ret i32 %call
}


declare i32 @_Z7_cl_allDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func i32 @_Z3allDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_allDv3_m(<3 x i64> %a)
  ret i32 %call
}


declare <4 x i64> @_Z7_cl_absDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z3absDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z7_cl_absDv4_m(<4 x i64> %a)
  ret <4 x i64> %call
}


declare <4 x i64> @_Z7_cl_clzDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z3clzDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z7_cl_clzDv4_m(<4 x i64> %a)
  ret <4 x i64> %call
}


declare <4 x i64> @_Z12_cl_popcountDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z8popcountDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z12_cl_popcountDv4_m(<4 x i64> %a)
  ret <4 x i64> %call
}


declare <4 x i64> @_Z12_cl_abs_diffDv4_mS_(<4 x i64>, <4 x i64>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z8abs_diffDv4_mS_(<4 x i64> %a, <4 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z12_cl_abs_diffDv4_mS_(<4 x i64> %a, <4 x i64> %b)
  ret <4 x i64> %call
}


declare <4 x i64> @_Z11_cl_add_satDv4_mS_(<4 x i64>, <4 x i64>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z7add_satDv4_mS_(<4 x i64> %a, <4 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z11_cl_add_satDv4_mS_(<4 x i64> %a, <4 x i64> %b)
  ret <4 x i64> %call
}


declare <4 x i64> @_Z8_cl_haddDv4_mS_(<4 x i64>, <4 x i64>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z4haddDv4_mS_(<4 x i64> %a, <4 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z8_cl_haddDv4_mS_(<4 x i64> %a, <4 x i64> %b)
  ret <4 x i64> %call
}


declare <4 x i64> @_Z7_cl_maxDv4_mS_(<4 x i64>, <4 x i64>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z3maxDv4_mS_(<4 x i64> %a, <4 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z7_cl_maxDv4_mS_(<4 x i64> %a, <4 x i64> %b)
  ret <4 x i64> %call
}


declare <4 x i64> @_Z7_cl_minDv4_mS_(<4 x i64>, <4 x i64>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z3minDv4_mS_(<4 x i64> %a, <4 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z7_cl_minDv4_mS_(<4 x i64> %a, <4 x i64> %b)
  ret <4 x i64> %call
}


declare <4 x i64> @_Z10_cl_mul_hiDv4_mS_(<4 x i64>, <4 x i64>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z6mul_hiDv4_mS_(<4 x i64> %a, <4 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z10_cl_mul_hiDv4_mS_(<4 x i64> %a, <4 x i64> %b)
  ret <4 x i64> %call
}


declare <4 x i64> @_Z9_cl_rhaddDv4_mS_(<4 x i64>, <4 x i64>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z5rhaddDv4_mS_(<4 x i64> %a, <4 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z9_cl_rhaddDv4_mS_(<4 x i64> %a, <4 x i64> %b)
  ret <4 x i64> %call
}


declare <4 x i64> @_Z10_cl_rotateDv4_mS_(<4 x i64>, <4 x i64>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z6rotateDv4_mS_(<4 x i64> %a, <4 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z10_cl_rotateDv4_mS_(<4 x i64> %a, <4 x i64> %b)
  ret <4 x i64> %call
}


declare <4 x i64> @_Z11_cl_sub_satDv4_mS_(<4 x i64>, <4 x i64>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z7sub_satDv4_mS_(<4 x i64> %a, <4 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z11_cl_sub_satDv4_mS_(<4 x i64> %a, <4 x i64> %b)
  ret <4 x i64> %call
}


declare <4 x i64> @_Z13_cl_bitselectDv4_mS_S_(<4 x i64>, <4 x i64>, <4 x i64>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z9bitselectDv4_mS_S_(<4 x i64> %a, <4 x i64> %b, <4 x i64> %c) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z13_cl_bitselectDv4_mS_S_(<4 x i64> %a, <4 x i64> %b, <4 x i64> %c)
  ret <4 x i64> %call
}


declare <4 x i64> @_Z9_cl_clampDv4_mS_S_(<4 x i64>, <4 x i64>, <4 x i64>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z5clampDv4_mS_S_(<4 x i64> %a, <4 x i64> %b, <4 x i64> %c) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z9_cl_clampDv4_mS_S_(<4 x i64> %a, <4 x i64> %b, <4 x i64> %c)
  ret <4 x i64> %call
}


declare <4 x i64> @_Z10_cl_mad_hiDv4_mS_S_(<4 x i64>, <4 x i64>, <4 x i64>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z6mad_hiDv4_mS_S_(<4 x i64> %a, <4 x i64> %b, <4 x i64> %c) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z10_cl_mad_hiDv4_mS_S_(<4 x i64> %a, <4 x i64> %b, <4 x i64> %c)
  ret <4 x i64> %call
}


declare <4 x i64> @_Z11_cl_mad_satDv4_mS_S_(<4 x i64>, <4 x i64>, <4 x i64>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z7mad_satDv4_mS_S_(<4 x i64> %a, <4 x i64> %b, <4 x i64> %c) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z11_cl_mad_satDv4_mS_S_(<4 x i64> %a, <4 x i64> %b, <4 x i64> %c)
  ret <4 x i64> %call
}


declare i32 @_Z7_cl_anyDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func i32 @_Z3anyDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_anyDv4_m(<4 x i64> %a)
  ret i32 %call
}


declare i32 @_Z7_cl_allDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func i32 @_Z3allDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_allDv4_m(<4 x i64> %a)
  ret i32 %call
}


declare <8 x i64> @_Z7_cl_absDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z3absDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z7_cl_absDv8_m(<8 x i64> %a)
  ret <8 x i64> %call
}


declare <8 x i64> @_Z7_cl_clzDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z3clzDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z7_cl_clzDv8_m(<8 x i64> %a)
  ret <8 x i64> %call
}


declare <8 x i64> @_Z12_cl_popcountDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z8popcountDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z12_cl_popcountDv8_m(<8 x i64> %a)
  ret <8 x i64> %call
}


declare <8 x i64> @_Z12_cl_abs_diffDv8_mS_(<8 x i64>, <8 x i64>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z8abs_diffDv8_mS_(<8 x i64> %a, <8 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z12_cl_abs_diffDv8_mS_(<8 x i64> %a, <8 x i64> %b)
  ret <8 x i64> %call
}


declare <8 x i64> @_Z11_cl_add_satDv8_mS_(<8 x i64>, <8 x i64>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z7add_satDv8_mS_(<8 x i64> %a, <8 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z11_cl_add_satDv8_mS_(<8 x i64> %a, <8 x i64> %b)
  ret <8 x i64> %call
}


declare <8 x i64> @_Z8_cl_haddDv8_mS_(<8 x i64>, <8 x i64>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z4haddDv8_mS_(<8 x i64> %a, <8 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z8_cl_haddDv8_mS_(<8 x i64> %a, <8 x i64> %b)
  ret <8 x i64> %call
}


declare <8 x i64> @_Z7_cl_maxDv8_mS_(<8 x i64>, <8 x i64>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z3maxDv8_mS_(<8 x i64> %a, <8 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z7_cl_maxDv8_mS_(<8 x i64> %a, <8 x i64> %b)
  ret <8 x i64> %call
}


declare <8 x i64> @_Z7_cl_minDv8_mS_(<8 x i64>, <8 x i64>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z3minDv8_mS_(<8 x i64> %a, <8 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z7_cl_minDv8_mS_(<8 x i64> %a, <8 x i64> %b)
  ret <8 x i64> %call
}


declare <8 x i64> @_Z10_cl_mul_hiDv8_mS_(<8 x i64>, <8 x i64>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z6mul_hiDv8_mS_(<8 x i64> %a, <8 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z10_cl_mul_hiDv8_mS_(<8 x i64> %a, <8 x i64> %b)
  ret <8 x i64> %call
}


declare <8 x i64> @_Z9_cl_rhaddDv8_mS_(<8 x i64>, <8 x i64>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z5rhaddDv8_mS_(<8 x i64> %a, <8 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z9_cl_rhaddDv8_mS_(<8 x i64> %a, <8 x i64> %b)
  ret <8 x i64> %call
}


declare <8 x i64> @_Z10_cl_rotateDv8_mS_(<8 x i64>, <8 x i64>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z6rotateDv8_mS_(<8 x i64> %a, <8 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z10_cl_rotateDv8_mS_(<8 x i64> %a, <8 x i64> %b)
  ret <8 x i64> %call
}


declare <8 x i64> @_Z11_cl_sub_satDv8_mS_(<8 x i64>, <8 x i64>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z7sub_satDv8_mS_(<8 x i64> %a, <8 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z11_cl_sub_satDv8_mS_(<8 x i64> %a, <8 x i64> %b)
  ret <8 x i64> %call
}


declare <8 x i64> @_Z13_cl_bitselectDv8_mS_S_(<8 x i64>, <8 x i64>, <8 x i64>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z9bitselectDv8_mS_S_(<8 x i64> %a, <8 x i64> %b, <8 x i64> %c) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z13_cl_bitselectDv8_mS_S_(<8 x i64> %a, <8 x i64> %b, <8 x i64> %c)
  ret <8 x i64> %call
}


declare <8 x i64> @_Z9_cl_clampDv8_mS_S_(<8 x i64>, <8 x i64>, <8 x i64>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z5clampDv8_mS_S_(<8 x i64> %a, <8 x i64> %b, <8 x i64> %c) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z9_cl_clampDv8_mS_S_(<8 x i64> %a, <8 x i64> %b, <8 x i64> %c)
  ret <8 x i64> %call
}


declare <8 x i64> @_Z10_cl_mad_hiDv8_mS_S_(<8 x i64>, <8 x i64>, <8 x i64>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z6mad_hiDv8_mS_S_(<8 x i64> %a, <8 x i64> %b, <8 x i64> %c) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z10_cl_mad_hiDv8_mS_S_(<8 x i64> %a, <8 x i64> %b, <8 x i64> %c)
  ret <8 x i64> %call
}


declare <8 x i64> @_Z11_cl_mad_satDv8_mS_S_(<8 x i64>, <8 x i64>, <8 x i64>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z7mad_satDv8_mS_S_(<8 x i64> %a, <8 x i64> %b, <8 x i64> %c) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z11_cl_mad_satDv8_mS_S_(<8 x i64> %a, <8 x i64> %b, <8 x i64> %c)
  ret <8 x i64> %call
}


declare i32 @_Z7_cl_anyDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func i32 @_Z3anyDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_anyDv8_m(<8 x i64> %a)
  ret i32 %call
}


declare i32 @_Z7_cl_allDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func i32 @_Z3allDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_allDv8_m(<8 x i64> %a)
  ret i32 %call
}


declare <16 x i64> @_Z7_cl_absDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z3absDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z7_cl_absDv16_m(<16 x i64> %a)
  ret <16 x i64> %call
}


declare <16 x i64> @_Z7_cl_clzDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z3clzDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z7_cl_clzDv16_m(<16 x i64> %a)
  ret <16 x i64> %call
}


declare <16 x i64> @_Z12_cl_popcountDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z8popcountDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z12_cl_popcountDv16_m(<16 x i64> %a)
  ret <16 x i64> %call
}


declare <16 x i64> @_Z12_cl_abs_diffDv16_mS_(<16 x i64>, <16 x i64>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z8abs_diffDv16_mS_(<16 x i64> %a, <16 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z12_cl_abs_diffDv16_mS_(<16 x i64> %a, <16 x i64> %b)
  ret <16 x i64> %call
}


declare <16 x i64> @_Z11_cl_add_satDv16_mS_(<16 x i64>, <16 x i64>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z7add_satDv16_mS_(<16 x i64> %a, <16 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z11_cl_add_satDv16_mS_(<16 x i64> %a, <16 x i64> %b)
  ret <16 x i64> %call
}


declare <16 x i64> @_Z8_cl_haddDv16_mS_(<16 x i64>, <16 x i64>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z4haddDv16_mS_(<16 x i64> %a, <16 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z8_cl_haddDv16_mS_(<16 x i64> %a, <16 x i64> %b)
  ret <16 x i64> %call
}


declare <16 x i64> @_Z7_cl_maxDv16_mS_(<16 x i64>, <16 x i64>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z3maxDv16_mS_(<16 x i64> %a, <16 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z7_cl_maxDv16_mS_(<16 x i64> %a, <16 x i64> %b)
  ret <16 x i64> %call
}


declare <16 x i64> @_Z7_cl_minDv16_mS_(<16 x i64>, <16 x i64>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z3minDv16_mS_(<16 x i64> %a, <16 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z7_cl_minDv16_mS_(<16 x i64> %a, <16 x i64> %b)
  ret <16 x i64> %call
}


declare <16 x i64> @_Z10_cl_mul_hiDv16_mS_(<16 x i64>, <16 x i64>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z6mul_hiDv16_mS_(<16 x i64> %a, <16 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z10_cl_mul_hiDv16_mS_(<16 x i64> %a, <16 x i64> %b)
  ret <16 x i64> %call
}


declare <16 x i64> @_Z9_cl_rhaddDv16_mS_(<16 x i64>, <16 x i64>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z5rhaddDv16_mS_(<16 x i64> %a, <16 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z9_cl_rhaddDv16_mS_(<16 x i64> %a, <16 x i64> %b)
  ret <16 x i64> %call
}


declare <16 x i64> @_Z10_cl_rotateDv16_mS_(<16 x i64>, <16 x i64>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z6rotateDv16_mS_(<16 x i64> %a, <16 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z10_cl_rotateDv16_mS_(<16 x i64> %a, <16 x i64> %b)
  ret <16 x i64> %call
}


declare <16 x i64> @_Z11_cl_sub_satDv16_mS_(<16 x i64>, <16 x i64>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z7sub_satDv16_mS_(<16 x i64> %a, <16 x i64> %b) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z11_cl_sub_satDv16_mS_(<16 x i64> %a, <16 x i64> %b)
  ret <16 x i64> %call
}


declare <16 x i64> @_Z13_cl_bitselectDv16_mS_S_(<16 x i64>, <16 x i64>, <16 x i64>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z9bitselectDv16_mS_S_(<16 x i64> %a, <16 x i64> %b, <16 x i64> %c) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z13_cl_bitselectDv16_mS_S_(<16 x i64> %a, <16 x i64> %b, <16 x i64> %c)
  ret <16 x i64> %call
}


declare <16 x i64> @_Z9_cl_clampDv16_mS_S_(<16 x i64>, <16 x i64>, <16 x i64>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z5clampDv16_mS_S_(<16 x i64> %a, <16 x i64> %b, <16 x i64> %c) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z9_cl_clampDv16_mS_S_(<16 x i64> %a, <16 x i64> %b, <16 x i64> %c)
  ret <16 x i64> %call
}


declare <16 x i64> @_Z10_cl_mad_hiDv16_mS_S_(<16 x i64>, <16 x i64>, <16 x i64>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z6mad_hiDv16_mS_S_(<16 x i64> %a, <16 x i64> %b, <16 x i64> %c) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z10_cl_mad_hiDv16_mS_S_(<16 x i64> %a, <16 x i64> %b, <16 x i64> %c)
  ret <16 x i64> %call
}


declare <16 x i64> @_Z11_cl_mad_satDv16_mS_S_(<16 x i64>, <16 x i64>, <16 x i64>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z7mad_satDv16_mS_S_(<16 x i64> %a, <16 x i64> %b, <16 x i64> %c) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z11_cl_mad_satDv16_mS_S_(<16 x i64> %a, <16 x i64> %b, <16 x i64> %c)
  ret <16 x i64> %call
}


declare i32 @_Z7_cl_anyDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func i32 @_Z3anyDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_anyDv16_m(<16 x i64> %a)
  ret i32 %call
}


declare i32 @_Z7_cl_allDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func i32 @_Z3allDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z7_cl_allDv16_m(<16 x i64> %a)
  ret i32 %call
}


declare i8 @_Z16_cl_convert_charc(i8) local_unnamed_addr #0

define spir_func  signext i8 @_Z12convert_charc(i8 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z16_cl_convert_charc(i8 %a)
  ret i8 %call
}


declare <2 x i8> @_Z17_cl_convert_char2Dv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z13convert_char2Dv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z17_cl_convert_char2Dv2_c(<2 x i8> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z17_cl_convert_char3Dv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z13convert_char3Dv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z17_cl_convert_char3Dv3_c(<3 x i8> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z17_cl_convert_char4Dv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z13convert_char4Dv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z17_cl_convert_char4Dv4_c(<4 x i8> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z17_cl_convert_char8Dv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z13convert_char8Dv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z17_cl_convert_char8Dv8_c(<8 x i8> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z18_cl_convert_char16Dv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z14convert_char16Dv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z18_cl_convert_char16Dv16_c(<16 x i8> %a)
  ret <16 x i8> %call
}


declare i8 @_Z20_cl_convert_char_rtpc(i8) local_unnamed_addr #0

define spir_func  signext i8 @_Z16convert_char_rtpc(i8 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z20_cl_convert_char_rtpc(i8 %a)
  ret i8 %call
}


declare <2 x i8> @_Z21_cl_convert_char2_rtpDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z17convert_char2_rtpDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z21_cl_convert_char2_rtpDv2_c(<2 x i8> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z21_cl_convert_char3_rtpDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z17convert_char3_rtpDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z21_cl_convert_char3_rtpDv3_c(<3 x i8> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z21_cl_convert_char4_rtpDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z17convert_char4_rtpDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z21_cl_convert_char4_rtpDv4_c(<4 x i8> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z21_cl_convert_char8_rtpDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z17convert_char8_rtpDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z21_cl_convert_char8_rtpDv8_c(<8 x i8> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z22_cl_convert_char16_rtpDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z18convert_char16_rtpDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z22_cl_convert_char16_rtpDv16_c(<16 x i8> %a)
  ret <16 x i8> %call
}


declare i8 @_Z20_cl_convert_char_rtnc(i8) local_unnamed_addr #0

define spir_func  signext i8 @_Z16convert_char_rtnc(i8 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z20_cl_convert_char_rtnc(i8 %a)
  ret i8 %call
}


declare <2 x i8> @_Z21_cl_convert_char2_rtnDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z17convert_char2_rtnDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z21_cl_convert_char2_rtnDv2_c(<2 x i8> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z21_cl_convert_char3_rtnDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z17convert_char3_rtnDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z21_cl_convert_char3_rtnDv3_c(<3 x i8> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z21_cl_convert_char4_rtnDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z17convert_char4_rtnDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z21_cl_convert_char4_rtnDv4_c(<4 x i8> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z21_cl_convert_char8_rtnDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z17convert_char8_rtnDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z21_cl_convert_char8_rtnDv8_c(<8 x i8> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z22_cl_convert_char16_rtnDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z18convert_char16_rtnDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z22_cl_convert_char16_rtnDv16_c(<16 x i8> %a)
  ret <16 x i8> %call
}


declare i8 @_Z20_cl_convert_char_rtec(i8) local_unnamed_addr #0

define spir_func  signext i8 @_Z16convert_char_rtec(i8 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z20_cl_convert_char_rtec(i8 %a)
  ret i8 %call
}


declare <2 x i8> @_Z21_cl_convert_char2_rteDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z17convert_char2_rteDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z21_cl_convert_char2_rteDv2_c(<2 x i8> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z21_cl_convert_char3_rteDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z17convert_char3_rteDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z21_cl_convert_char3_rteDv3_c(<3 x i8> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z21_cl_convert_char4_rteDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z17convert_char4_rteDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z21_cl_convert_char4_rteDv4_c(<4 x i8> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z21_cl_convert_char8_rteDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z17convert_char8_rteDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z21_cl_convert_char8_rteDv8_c(<8 x i8> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z22_cl_convert_char16_rteDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z18convert_char16_rteDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z22_cl_convert_char16_rteDv16_c(<16 x i8> %a)
  ret <16 x i8> %call
}


declare i8 @_Z20_cl_convert_char_rtzc(i8) local_unnamed_addr #0

define spir_func  signext i8 @_Z16convert_char_rtzc(i8 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z20_cl_convert_char_rtzc(i8 %a)
  ret i8 %call
}


declare <2 x i8> @_Z21_cl_convert_char2_rtzDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z17convert_char2_rtzDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z21_cl_convert_char2_rtzDv2_c(<2 x i8> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z21_cl_convert_char3_rtzDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z17convert_char3_rtzDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z21_cl_convert_char3_rtzDv3_c(<3 x i8> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z21_cl_convert_char4_rtzDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z17convert_char4_rtzDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z21_cl_convert_char4_rtzDv4_c(<4 x i8> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z21_cl_convert_char8_rtzDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z17convert_char8_rtzDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z21_cl_convert_char8_rtzDv8_c(<8 x i8> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z22_cl_convert_char16_rtzDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z18convert_char16_rtzDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z22_cl_convert_char16_rtzDv16_c(<16 x i8> %a)
  ret <16 x i8> %call
}


declare i8 @_Z20_cl_convert_char_satc(i8) local_unnamed_addr #0

define spir_func  signext i8 @_Z16convert_char_satc(i8 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z20_cl_convert_char_satc(i8 %a)
  ret i8 %call
}


declare <2 x i8> @_Z21_cl_convert_char2_satDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z17convert_char2_satDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z21_cl_convert_char2_satDv2_c(<2 x i8> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z21_cl_convert_char3_satDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z17convert_char3_satDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z21_cl_convert_char3_satDv3_c(<3 x i8> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z21_cl_convert_char4_satDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z17convert_char4_satDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z21_cl_convert_char4_satDv4_c(<4 x i8> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z21_cl_convert_char8_satDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z17convert_char8_satDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z21_cl_convert_char8_satDv8_c(<8 x i8> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z22_cl_convert_char16_satDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z18convert_char16_satDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z22_cl_convert_char16_satDv16_c(<16 x i8> %a)
  ret <16 x i8> %call
}


declare i8 @_Z24_cl_convert_char_sat_rtpc(i8) local_unnamed_addr #0

define spir_func  signext i8 @_Z20convert_char_sat_rtpc(i8 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z24_cl_convert_char_sat_rtpc(i8 %a)
  ret i8 %call
}


declare <2 x i8> @_Z25_cl_convert_char2_sat_rtpDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z21convert_char2_sat_rtpDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z25_cl_convert_char2_sat_rtpDv2_c(<2 x i8> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z25_cl_convert_char3_sat_rtpDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z21convert_char3_sat_rtpDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z25_cl_convert_char3_sat_rtpDv3_c(<3 x i8> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z25_cl_convert_char4_sat_rtpDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z21convert_char4_sat_rtpDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z25_cl_convert_char4_sat_rtpDv4_c(<4 x i8> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z25_cl_convert_char8_sat_rtpDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z21convert_char8_sat_rtpDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z25_cl_convert_char8_sat_rtpDv8_c(<8 x i8> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z26_cl_convert_char16_sat_rtpDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z22convert_char16_sat_rtpDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z26_cl_convert_char16_sat_rtpDv16_c(<16 x i8> %a)
  ret <16 x i8> %call
}


declare i8 @_Z24_cl_convert_char_sat_rtnc(i8) local_unnamed_addr #0

define spir_func  signext i8 @_Z20convert_char_sat_rtnc(i8 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z24_cl_convert_char_sat_rtnc(i8 %a)
  ret i8 %call
}


declare <2 x i8> @_Z25_cl_convert_char2_sat_rtnDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z21convert_char2_sat_rtnDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z25_cl_convert_char2_sat_rtnDv2_c(<2 x i8> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z25_cl_convert_char3_sat_rtnDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z21convert_char3_sat_rtnDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z25_cl_convert_char3_sat_rtnDv3_c(<3 x i8> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z25_cl_convert_char4_sat_rtnDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z21convert_char4_sat_rtnDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z25_cl_convert_char4_sat_rtnDv4_c(<4 x i8> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z25_cl_convert_char8_sat_rtnDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z21convert_char8_sat_rtnDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z25_cl_convert_char8_sat_rtnDv8_c(<8 x i8> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z26_cl_convert_char16_sat_rtnDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z22convert_char16_sat_rtnDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z26_cl_convert_char16_sat_rtnDv16_c(<16 x i8> %a)
  ret <16 x i8> %call
}


declare i8 @_Z24_cl_convert_char_sat_rtec(i8) local_unnamed_addr #0

define spir_func  signext i8 @_Z20convert_char_sat_rtec(i8 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z24_cl_convert_char_sat_rtec(i8 %a)
  ret i8 %call
}


declare <2 x i8> @_Z25_cl_convert_char2_sat_rteDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z21convert_char2_sat_rteDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z25_cl_convert_char2_sat_rteDv2_c(<2 x i8> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z25_cl_convert_char3_sat_rteDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z21convert_char3_sat_rteDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z25_cl_convert_char3_sat_rteDv3_c(<3 x i8> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z25_cl_convert_char4_sat_rteDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z21convert_char4_sat_rteDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z25_cl_convert_char4_sat_rteDv4_c(<4 x i8> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z25_cl_convert_char8_sat_rteDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z21convert_char8_sat_rteDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z25_cl_convert_char8_sat_rteDv8_c(<8 x i8> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z26_cl_convert_char16_sat_rteDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z22convert_char16_sat_rteDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z26_cl_convert_char16_sat_rteDv16_c(<16 x i8> %a)
  ret <16 x i8> %call
}


declare i8 @_Z24_cl_convert_char_sat_rtzc(i8) local_unnamed_addr #0

define spir_func  signext i8 @_Z20convert_char_sat_rtzc(i8 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z24_cl_convert_char_sat_rtzc(i8 %a)
  ret i8 %call
}


declare <2 x i8> @_Z25_cl_convert_char2_sat_rtzDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z21convert_char2_sat_rtzDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z25_cl_convert_char2_sat_rtzDv2_c(<2 x i8> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z25_cl_convert_char3_sat_rtzDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z21convert_char3_sat_rtzDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z25_cl_convert_char3_sat_rtzDv3_c(<3 x i8> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z25_cl_convert_char4_sat_rtzDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z21convert_char4_sat_rtzDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z25_cl_convert_char4_sat_rtzDv4_c(<4 x i8> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z25_cl_convert_char8_sat_rtzDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z21convert_char8_sat_rtzDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z25_cl_convert_char8_sat_rtzDv8_c(<8 x i8> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z26_cl_convert_char16_sat_rtzDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z22convert_char16_sat_rtzDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z26_cl_convert_char16_sat_rtzDv16_c(<16 x i8> %a)
  ret <16 x i8> %call
}


declare i8 @_Z16_cl_convert_charh(i8) local_unnamed_addr #0

define spir_func  signext i8 @_Z12convert_charh(i8 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z16_cl_convert_charh(i8 %a)
  ret i8 %call
}


declare <2 x i8> @_Z17_cl_convert_char2Dv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z13convert_char2Dv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z17_cl_convert_char2Dv2_h(<2 x i8> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z17_cl_convert_char3Dv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z13convert_char3Dv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z17_cl_convert_char3Dv3_h(<3 x i8> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z17_cl_convert_char4Dv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z13convert_char4Dv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z17_cl_convert_char4Dv4_h(<4 x i8> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z17_cl_convert_char8Dv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z13convert_char8Dv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z17_cl_convert_char8Dv8_h(<8 x i8> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z18_cl_convert_char16Dv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z14convert_char16Dv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z18_cl_convert_char16Dv16_h(<16 x i8> %a)
  ret <16 x i8> %call
}


declare i8 @_Z20_cl_convert_char_rtph(i8) local_unnamed_addr #0

define spir_func  signext i8 @_Z16convert_char_rtph(i8 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z20_cl_convert_char_rtph(i8 %a)
  ret i8 %call
}


declare <2 x i8> @_Z21_cl_convert_char2_rtpDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z17convert_char2_rtpDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z21_cl_convert_char2_rtpDv2_h(<2 x i8> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z21_cl_convert_char3_rtpDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z17convert_char3_rtpDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z21_cl_convert_char3_rtpDv3_h(<3 x i8> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z21_cl_convert_char4_rtpDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z17convert_char4_rtpDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z21_cl_convert_char4_rtpDv4_h(<4 x i8> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z21_cl_convert_char8_rtpDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z17convert_char8_rtpDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z21_cl_convert_char8_rtpDv8_h(<8 x i8> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z22_cl_convert_char16_rtpDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z18convert_char16_rtpDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z22_cl_convert_char16_rtpDv16_h(<16 x i8> %a)
  ret <16 x i8> %call
}


declare i8 @_Z20_cl_convert_char_rtnh(i8) local_unnamed_addr #0

define spir_func  signext i8 @_Z16convert_char_rtnh(i8 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z20_cl_convert_char_rtnh(i8 %a)
  ret i8 %call
}


declare <2 x i8> @_Z21_cl_convert_char2_rtnDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z17convert_char2_rtnDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z21_cl_convert_char2_rtnDv2_h(<2 x i8> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z21_cl_convert_char3_rtnDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z17convert_char3_rtnDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z21_cl_convert_char3_rtnDv3_h(<3 x i8> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z21_cl_convert_char4_rtnDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z17convert_char4_rtnDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z21_cl_convert_char4_rtnDv4_h(<4 x i8> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z21_cl_convert_char8_rtnDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z17convert_char8_rtnDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z21_cl_convert_char8_rtnDv8_h(<8 x i8> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z22_cl_convert_char16_rtnDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z18convert_char16_rtnDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z22_cl_convert_char16_rtnDv16_h(<16 x i8> %a)
  ret <16 x i8> %call
}


declare i8 @_Z20_cl_convert_char_rteh(i8) local_unnamed_addr #0

define spir_func  signext i8 @_Z16convert_char_rteh(i8 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z20_cl_convert_char_rteh(i8 %a)
  ret i8 %call
}


declare <2 x i8> @_Z21_cl_convert_char2_rteDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z17convert_char2_rteDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z21_cl_convert_char2_rteDv2_h(<2 x i8> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z21_cl_convert_char3_rteDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z17convert_char3_rteDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z21_cl_convert_char3_rteDv3_h(<3 x i8> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z21_cl_convert_char4_rteDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z17convert_char4_rteDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z21_cl_convert_char4_rteDv4_h(<4 x i8> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z21_cl_convert_char8_rteDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z17convert_char8_rteDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z21_cl_convert_char8_rteDv8_h(<8 x i8> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z22_cl_convert_char16_rteDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z18convert_char16_rteDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z22_cl_convert_char16_rteDv16_h(<16 x i8> %a)
  ret <16 x i8> %call
}


declare i8 @_Z20_cl_convert_char_rtzh(i8) local_unnamed_addr #0

define spir_func  signext i8 @_Z16convert_char_rtzh(i8 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z20_cl_convert_char_rtzh(i8 %a)
  ret i8 %call
}


declare <2 x i8> @_Z21_cl_convert_char2_rtzDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z17convert_char2_rtzDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z21_cl_convert_char2_rtzDv2_h(<2 x i8> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z21_cl_convert_char3_rtzDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z17convert_char3_rtzDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z21_cl_convert_char3_rtzDv3_h(<3 x i8> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z21_cl_convert_char4_rtzDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z17convert_char4_rtzDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z21_cl_convert_char4_rtzDv4_h(<4 x i8> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z21_cl_convert_char8_rtzDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z17convert_char8_rtzDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z21_cl_convert_char8_rtzDv8_h(<8 x i8> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z22_cl_convert_char16_rtzDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z18convert_char16_rtzDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z22_cl_convert_char16_rtzDv16_h(<16 x i8> %a)
  ret <16 x i8> %call
}


declare i8 @_Z20_cl_convert_char_sath(i8) local_unnamed_addr #0

define spir_func  signext i8 @_Z16convert_char_sath(i8 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z20_cl_convert_char_sath(i8 %a)
  ret i8 %call
}


declare <2 x i8> @_Z21_cl_convert_char2_satDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z17convert_char2_satDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z21_cl_convert_char2_satDv2_h(<2 x i8> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z21_cl_convert_char3_satDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z17convert_char3_satDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z21_cl_convert_char3_satDv3_h(<3 x i8> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z21_cl_convert_char4_satDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z17convert_char4_satDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z21_cl_convert_char4_satDv4_h(<4 x i8> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z21_cl_convert_char8_satDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z17convert_char8_satDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z21_cl_convert_char8_satDv8_h(<8 x i8> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z22_cl_convert_char16_satDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z18convert_char16_satDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z22_cl_convert_char16_satDv16_h(<16 x i8> %a)
  ret <16 x i8> %call
}


declare i8 @_Z24_cl_convert_char_sat_rtph(i8) local_unnamed_addr #0

define spir_func  signext i8 @_Z20convert_char_sat_rtph(i8 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z24_cl_convert_char_sat_rtph(i8 %a)
  ret i8 %call
}


declare <2 x i8> @_Z25_cl_convert_char2_sat_rtpDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z21convert_char2_sat_rtpDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z25_cl_convert_char2_sat_rtpDv2_h(<2 x i8> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z25_cl_convert_char3_sat_rtpDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z21convert_char3_sat_rtpDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z25_cl_convert_char3_sat_rtpDv3_h(<3 x i8> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z25_cl_convert_char4_sat_rtpDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z21convert_char4_sat_rtpDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z25_cl_convert_char4_sat_rtpDv4_h(<4 x i8> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z25_cl_convert_char8_sat_rtpDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z21convert_char8_sat_rtpDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z25_cl_convert_char8_sat_rtpDv8_h(<8 x i8> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z26_cl_convert_char16_sat_rtpDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z22convert_char16_sat_rtpDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z26_cl_convert_char16_sat_rtpDv16_h(<16 x i8> %a)
  ret <16 x i8> %call
}


declare i8 @_Z24_cl_convert_char_sat_rtnh(i8) local_unnamed_addr #0

define spir_func  signext i8 @_Z20convert_char_sat_rtnh(i8 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z24_cl_convert_char_sat_rtnh(i8 %a)
  ret i8 %call
}


declare <2 x i8> @_Z25_cl_convert_char2_sat_rtnDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z21convert_char2_sat_rtnDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z25_cl_convert_char2_sat_rtnDv2_h(<2 x i8> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z25_cl_convert_char3_sat_rtnDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z21convert_char3_sat_rtnDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z25_cl_convert_char3_sat_rtnDv3_h(<3 x i8> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z25_cl_convert_char4_sat_rtnDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z21convert_char4_sat_rtnDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z25_cl_convert_char4_sat_rtnDv4_h(<4 x i8> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z25_cl_convert_char8_sat_rtnDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z21convert_char8_sat_rtnDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z25_cl_convert_char8_sat_rtnDv8_h(<8 x i8> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z26_cl_convert_char16_sat_rtnDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z22convert_char16_sat_rtnDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z26_cl_convert_char16_sat_rtnDv16_h(<16 x i8> %a)
  ret <16 x i8> %call
}


declare i8 @_Z24_cl_convert_char_sat_rteh(i8) local_unnamed_addr #0

define spir_func  signext i8 @_Z20convert_char_sat_rteh(i8 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z24_cl_convert_char_sat_rteh(i8 %a)
  ret i8 %call
}


declare <2 x i8> @_Z25_cl_convert_char2_sat_rteDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z21convert_char2_sat_rteDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z25_cl_convert_char2_sat_rteDv2_h(<2 x i8> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z25_cl_convert_char3_sat_rteDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z21convert_char3_sat_rteDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z25_cl_convert_char3_sat_rteDv3_h(<3 x i8> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z25_cl_convert_char4_sat_rteDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z21convert_char4_sat_rteDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z25_cl_convert_char4_sat_rteDv4_h(<4 x i8> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z25_cl_convert_char8_sat_rteDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z21convert_char8_sat_rteDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z25_cl_convert_char8_sat_rteDv8_h(<8 x i8> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z26_cl_convert_char16_sat_rteDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z22convert_char16_sat_rteDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z26_cl_convert_char16_sat_rteDv16_h(<16 x i8> %a)
  ret <16 x i8> %call
}


declare i8 @_Z24_cl_convert_char_sat_rtzh(i8) local_unnamed_addr #0

define spir_func  signext i8 @_Z20convert_char_sat_rtzh(i8 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z24_cl_convert_char_sat_rtzh(i8 %a)
  ret i8 %call
}


declare <2 x i8> @_Z25_cl_convert_char2_sat_rtzDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z21convert_char2_sat_rtzDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z25_cl_convert_char2_sat_rtzDv2_h(<2 x i8> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z25_cl_convert_char3_sat_rtzDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z21convert_char3_sat_rtzDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z25_cl_convert_char3_sat_rtzDv3_h(<3 x i8> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z25_cl_convert_char4_sat_rtzDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z21convert_char4_sat_rtzDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z25_cl_convert_char4_sat_rtzDv4_h(<4 x i8> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z25_cl_convert_char8_sat_rtzDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z21convert_char8_sat_rtzDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z25_cl_convert_char8_sat_rtzDv8_h(<8 x i8> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z26_cl_convert_char16_sat_rtzDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z22convert_char16_sat_rtzDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z26_cl_convert_char16_sat_rtzDv16_h(<16 x i8> %a)
  ret <16 x i8> %call
}


declare i8 @_Z16_cl_convert_chars(i16) local_unnamed_addr #0

define spir_func  signext i8 @_Z12convert_chars(i16 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z16_cl_convert_chars(i16 %a)
  ret i8 %call
}


declare <2 x i8> @_Z17_cl_convert_char2Dv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z13convert_char2Dv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z17_cl_convert_char2Dv2_s(<2 x i16> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z17_cl_convert_char3Dv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z13convert_char3Dv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z17_cl_convert_char3Dv3_s(<3 x i16> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z17_cl_convert_char4Dv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z13convert_char4Dv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z17_cl_convert_char4Dv4_s(<4 x i16> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z17_cl_convert_char8Dv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z13convert_char8Dv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z17_cl_convert_char8Dv8_s(<8 x i16> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z18_cl_convert_char16Dv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z14convert_char16Dv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z18_cl_convert_char16Dv16_s(<16 x i16> %a)
  ret <16 x i8> %call
}


declare i8 @_Z20_cl_convert_char_rtps(i16) local_unnamed_addr #0

define spir_func  signext i8 @_Z16convert_char_rtps(i16 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z20_cl_convert_char_rtps(i16 %a)
  ret i8 %call
}


declare <2 x i8> @_Z21_cl_convert_char2_rtpDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z17convert_char2_rtpDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z21_cl_convert_char2_rtpDv2_s(<2 x i16> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z21_cl_convert_char3_rtpDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z17convert_char3_rtpDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z21_cl_convert_char3_rtpDv3_s(<3 x i16> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z21_cl_convert_char4_rtpDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z17convert_char4_rtpDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z21_cl_convert_char4_rtpDv4_s(<4 x i16> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z21_cl_convert_char8_rtpDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z17convert_char8_rtpDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z21_cl_convert_char8_rtpDv8_s(<8 x i16> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z22_cl_convert_char16_rtpDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z18convert_char16_rtpDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z22_cl_convert_char16_rtpDv16_s(<16 x i16> %a)
  ret <16 x i8> %call
}


declare i8 @_Z20_cl_convert_char_rtns(i16) local_unnamed_addr #0

define spir_func  signext i8 @_Z16convert_char_rtns(i16 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z20_cl_convert_char_rtns(i16 %a)
  ret i8 %call
}


declare <2 x i8> @_Z21_cl_convert_char2_rtnDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z17convert_char2_rtnDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z21_cl_convert_char2_rtnDv2_s(<2 x i16> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z21_cl_convert_char3_rtnDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z17convert_char3_rtnDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z21_cl_convert_char3_rtnDv3_s(<3 x i16> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z21_cl_convert_char4_rtnDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z17convert_char4_rtnDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z21_cl_convert_char4_rtnDv4_s(<4 x i16> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z21_cl_convert_char8_rtnDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z17convert_char8_rtnDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z21_cl_convert_char8_rtnDv8_s(<8 x i16> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z22_cl_convert_char16_rtnDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z18convert_char16_rtnDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z22_cl_convert_char16_rtnDv16_s(<16 x i16> %a)
  ret <16 x i8> %call
}


declare i8 @_Z20_cl_convert_char_rtes(i16) local_unnamed_addr #0

define spir_func  signext i8 @_Z16convert_char_rtes(i16 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z20_cl_convert_char_rtes(i16 %a)
  ret i8 %call
}


declare <2 x i8> @_Z21_cl_convert_char2_rteDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z17convert_char2_rteDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z21_cl_convert_char2_rteDv2_s(<2 x i16> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z21_cl_convert_char3_rteDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z17convert_char3_rteDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z21_cl_convert_char3_rteDv3_s(<3 x i16> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z21_cl_convert_char4_rteDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z17convert_char4_rteDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z21_cl_convert_char4_rteDv4_s(<4 x i16> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z21_cl_convert_char8_rteDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z17convert_char8_rteDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z21_cl_convert_char8_rteDv8_s(<8 x i16> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z22_cl_convert_char16_rteDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z18convert_char16_rteDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z22_cl_convert_char16_rteDv16_s(<16 x i16> %a)
  ret <16 x i8> %call
}


declare i8 @_Z20_cl_convert_char_rtzs(i16) local_unnamed_addr #0

define spir_func  signext i8 @_Z16convert_char_rtzs(i16 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z20_cl_convert_char_rtzs(i16 %a)
  ret i8 %call
}


declare <2 x i8> @_Z21_cl_convert_char2_rtzDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z17convert_char2_rtzDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z21_cl_convert_char2_rtzDv2_s(<2 x i16> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z21_cl_convert_char3_rtzDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z17convert_char3_rtzDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z21_cl_convert_char3_rtzDv3_s(<3 x i16> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z21_cl_convert_char4_rtzDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z17convert_char4_rtzDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z21_cl_convert_char4_rtzDv4_s(<4 x i16> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z21_cl_convert_char8_rtzDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z17convert_char8_rtzDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z21_cl_convert_char8_rtzDv8_s(<8 x i16> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z22_cl_convert_char16_rtzDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z18convert_char16_rtzDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z22_cl_convert_char16_rtzDv16_s(<16 x i16> %a)
  ret <16 x i8> %call
}


declare i8 @_Z20_cl_convert_char_sats(i16) local_unnamed_addr #0

define spir_func  signext i8 @_Z16convert_char_sats(i16 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z20_cl_convert_char_sats(i16 %a)
  ret i8 %call
}


declare <2 x i8> @_Z21_cl_convert_char2_satDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z17convert_char2_satDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z21_cl_convert_char2_satDv2_s(<2 x i16> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z21_cl_convert_char3_satDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z17convert_char3_satDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z21_cl_convert_char3_satDv3_s(<3 x i16> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z21_cl_convert_char4_satDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z17convert_char4_satDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z21_cl_convert_char4_satDv4_s(<4 x i16> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z21_cl_convert_char8_satDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z17convert_char8_satDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z21_cl_convert_char8_satDv8_s(<8 x i16> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z22_cl_convert_char16_satDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z18convert_char16_satDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z22_cl_convert_char16_satDv16_s(<16 x i16> %a)
  ret <16 x i8> %call
}


declare i8 @_Z24_cl_convert_char_sat_rtps(i16) local_unnamed_addr #0

define spir_func  signext i8 @_Z20convert_char_sat_rtps(i16 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z24_cl_convert_char_sat_rtps(i16 %a)
  ret i8 %call
}


declare <2 x i8> @_Z25_cl_convert_char2_sat_rtpDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z21convert_char2_sat_rtpDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z25_cl_convert_char2_sat_rtpDv2_s(<2 x i16> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z25_cl_convert_char3_sat_rtpDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z21convert_char3_sat_rtpDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z25_cl_convert_char3_sat_rtpDv3_s(<3 x i16> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z25_cl_convert_char4_sat_rtpDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z21convert_char4_sat_rtpDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z25_cl_convert_char4_sat_rtpDv4_s(<4 x i16> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z25_cl_convert_char8_sat_rtpDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z21convert_char8_sat_rtpDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z25_cl_convert_char8_sat_rtpDv8_s(<8 x i16> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z26_cl_convert_char16_sat_rtpDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z22convert_char16_sat_rtpDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z26_cl_convert_char16_sat_rtpDv16_s(<16 x i16> %a)
  ret <16 x i8> %call
}


declare i8 @_Z24_cl_convert_char_sat_rtns(i16) local_unnamed_addr #0

define spir_func  signext i8 @_Z20convert_char_sat_rtns(i16 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z24_cl_convert_char_sat_rtns(i16 %a)
  ret i8 %call
}


declare <2 x i8> @_Z25_cl_convert_char2_sat_rtnDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z21convert_char2_sat_rtnDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z25_cl_convert_char2_sat_rtnDv2_s(<2 x i16> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z25_cl_convert_char3_sat_rtnDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z21convert_char3_sat_rtnDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z25_cl_convert_char3_sat_rtnDv3_s(<3 x i16> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z25_cl_convert_char4_sat_rtnDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z21convert_char4_sat_rtnDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z25_cl_convert_char4_sat_rtnDv4_s(<4 x i16> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z25_cl_convert_char8_sat_rtnDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z21convert_char8_sat_rtnDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z25_cl_convert_char8_sat_rtnDv8_s(<8 x i16> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z26_cl_convert_char16_sat_rtnDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z22convert_char16_sat_rtnDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z26_cl_convert_char16_sat_rtnDv16_s(<16 x i16> %a)
  ret <16 x i8> %call
}


declare i8 @_Z24_cl_convert_char_sat_rtes(i16) local_unnamed_addr #0

define spir_func  signext i8 @_Z20convert_char_sat_rtes(i16 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z24_cl_convert_char_sat_rtes(i16 %a)
  ret i8 %call
}


declare <2 x i8> @_Z25_cl_convert_char2_sat_rteDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z21convert_char2_sat_rteDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z25_cl_convert_char2_sat_rteDv2_s(<2 x i16> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z25_cl_convert_char3_sat_rteDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z21convert_char3_sat_rteDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z25_cl_convert_char3_sat_rteDv3_s(<3 x i16> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z25_cl_convert_char4_sat_rteDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z21convert_char4_sat_rteDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z25_cl_convert_char4_sat_rteDv4_s(<4 x i16> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z25_cl_convert_char8_sat_rteDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z21convert_char8_sat_rteDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z25_cl_convert_char8_sat_rteDv8_s(<8 x i16> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z26_cl_convert_char16_sat_rteDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z22convert_char16_sat_rteDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z26_cl_convert_char16_sat_rteDv16_s(<16 x i16> %a)
  ret <16 x i8> %call
}


declare i8 @_Z24_cl_convert_char_sat_rtzs(i16) local_unnamed_addr #0

define spir_func  signext i8 @_Z20convert_char_sat_rtzs(i16 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z24_cl_convert_char_sat_rtzs(i16 %a)
  ret i8 %call
}


declare <2 x i8> @_Z25_cl_convert_char2_sat_rtzDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z21convert_char2_sat_rtzDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z25_cl_convert_char2_sat_rtzDv2_s(<2 x i16> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z25_cl_convert_char3_sat_rtzDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z21convert_char3_sat_rtzDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z25_cl_convert_char3_sat_rtzDv3_s(<3 x i16> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z25_cl_convert_char4_sat_rtzDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z21convert_char4_sat_rtzDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z25_cl_convert_char4_sat_rtzDv4_s(<4 x i16> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z25_cl_convert_char8_sat_rtzDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z21convert_char8_sat_rtzDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z25_cl_convert_char8_sat_rtzDv8_s(<8 x i16> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z26_cl_convert_char16_sat_rtzDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z22convert_char16_sat_rtzDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z26_cl_convert_char16_sat_rtzDv16_s(<16 x i16> %a)
  ret <16 x i8> %call
}


declare i8 @_Z16_cl_convert_chart(i16) local_unnamed_addr #0

define spir_func  signext i8 @_Z12convert_chart(i16 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z16_cl_convert_chart(i16 %a)
  ret i8 %call
}


declare <2 x i8> @_Z17_cl_convert_char2Dv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z13convert_char2Dv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z17_cl_convert_char2Dv2_t(<2 x i16> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z17_cl_convert_char3Dv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z13convert_char3Dv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z17_cl_convert_char3Dv3_t(<3 x i16> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z17_cl_convert_char4Dv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z13convert_char4Dv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z17_cl_convert_char4Dv4_t(<4 x i16> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z17_cl_convert_char8Dv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z13convert_char8Dv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z17_cl_convert_char8Dv8_t(<8 x i16> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z18_cl_convert_char16Dv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z14convert_char16Dv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z18_cl_convert_char16Dv16_t(<16 x i16> %a)
  ret <16 x i8> %call
}


declare i8 @_Z20_cl_convert_char_rtpt(i16) local_unnamed_addr #0

define spir_func  signext i8 @_Z16convert_char_rtpt(i16 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z20_cl_convert_char_rtpt(i16 %a)
  ret i8 %call
}


declare <2 x i8> @_Z21_cl_convert_char2_rtpDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z17convert_char2_rtpDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z21_cl_convert_char2_rtpDv2_t(<2 x i16> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z21_cl_convert_char3_rtpDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z17convert_char3_rtpDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z21_cl_convert_char3_rtpDv3_t(<3 x i16> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z21_cl_convert_char4_rtpDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z17convert_char4_rtpDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z21_cl_convert_char4_rtpDv4_t(<4 x i16> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z21_cl_convert_char8_rtpDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z17convert_char8_rtpDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z21_cl_convert_char8_rtpDv8_t(<8 x i16> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z22_cl_convert_char16_rtpDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z18convert_char16_rtpDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z22_cl_convert_char16_rtpDv16_t(<16 x i16> %a)
  ret <16 x i8> %call
}


declare i8 @_Z20_cl_convert_char_rtnt(i16) local_unnamed_addr #0

define spir_func  signext i8 @_Z16convert_char_rtnt(i16 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z20_cl_convert_char_rtnt(i16 %a)
  ret i8 %call
}


declare <2 x i8> @_Z21_cl_convert_char2_rtnDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z17convert_char2_rtnDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z21_cl_convert_char2_rtnDv2_t(<2 x i16> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z21_cl_convert_char3_rtnDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z17convert_char3_rtnDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z21_cl_convert_char3_rtnDv3_t(<3 x i16> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z21_cl_convert_char4_rtnDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z17convert_char4_rtnDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z21_cl_convert_char4_rtnDv4_t(<4 x i16> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z21_cl_convert_char8_rtnDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z17convert_char8_rtnDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z21_cl_convert_char8_rtnDv8_t(<8 x i16> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z22_cl_convert_char16_rtnDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z18convert_char16_rtnDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z22_cl_convert_char16_rtnDv16_t(<16 x i16> %a)
  ret <16 x i8> %call
}


declare i8 @_Z20_cl_convert_char_rtet(i16) local_unnamed_addr #0

define spir_func  signext i8 @_Z16convert_char_rtet(i16 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z20_cl_convert_char_rtet(i16 %a)
  ret i8 %call
}


declare <2 x i8> @_Z21_cl_convert_char2_rteDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z17convert_char2_rteDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z21_cl_convert_char2_rteDv2_t(<2 x i16> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z21_cl_convert_char3_rteDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z17convert_char3_rteDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z21_cl_convert_char3_rteDv3_t(<3 x i16> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z21_cl_convert_char4_rteDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z17convert_char4_rteDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z21_cl_convert_char4_rteDv4_t(<4 x i16> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z21_cl_convert_char8_rteDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z17convert_char8_rteDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z21_cl_convert_char8_rteDv8_t(<8 x i16> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z22_cl_convert_char16_rteDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z18convert_char16_rteDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z22_cl_convert_char16_rteDv16_t(<16 x i16> %a)
  ret <16 x i8> %call
}


declare i8 @_Z20_cl_convert_char_rtzt(i16) local_unnamed_addr #0

define spir_func  signext i8 @_Z16convert_char_rtzt(i16 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z20_cl_convert_char_rtzt(i16 %a)
  ret i8 %call
}


declare <2 x i8> @_Z21_cl_convert_char2_rtzDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z17convert_char2_rtzDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z21_cl_convert_char2_rtzDv2_t(<2 x i16> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z21_cl_convert_char3_rtzDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z17convert_char3_rtzDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z21_cl_convert_char3_rtzDv3_t(<3 x i16> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z21_cl_convert_char4_rtzDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z17convert_char4_rtzDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z21_cl_convert_char4_rtzDv4_t(<4 x i16> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z21_cl_convert_char8_rtzDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z17convert_char8_rtzDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z21_cl_convert_char8_rtzDv8_t(<8 x i16> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z22_cl_convert_char16_rtzDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z18convert_char16_rtzDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z22_cl_convert_char16_rtzDv16_t(<16 x i16> %a)
  ret <16 x i8> %call
}


declare i8 @_Z20_cl_convert_char_satt(i16) local_unnamed_addr #0

define spir_func  signext i8 @_Z16convert_char_satt(i16 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z20_cl_convert_char_satt(i16 %a)
  ret i8 %call
}


declare <2 x i8> @_Z21_cl_convert_char2_satDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z17convert_char2_satDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z21_cl_convert_char2_satDv2_t(<2 x i16> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z21_cl_convert_char3_satDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z17convert_char3_satDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z21_cl_convert_char3_satDv3_t(<3 x i16> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z21_cl_convert_char4_satDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z17convert_char4_satDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z21_cl_convert_char4_satDv4_t(<4 x i16> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z21_cl_convert_char8_satDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z17convert_char8_satDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z21_cl_convert_char8_satDv8_t(<8 x i16> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z22_cl_convert_char16_satDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z18convert_char16_satDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z22_cl_convert_char16_satDv16_t(<16 x i16> %a)
  ret <16 x i8> %call
}


declare i8 @_Z24_cl_convert_char_sat_rtpt(i16) local_unnamed_addr #0

define spir_func  signext i8 @_Z20convert_char_sat_rtpt(i16 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z24_cl_convert_char_sat_rtpt(i16 %a)
  ret i8 %call
}


declare <2 x i8> @_Z25_cl_convert_char2_sat_rtpDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z21convert_char2_sat_rtpDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z25_cl_convert_char2_sat_rtpDv2_t(<2 x i16> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z25_cl_convert_char3_sat_rtpDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z21convert_char3_sat_rtpDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z25_cl_convert_char3_sat_rtpDv3_t(<3 x i16> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z25_cl_convert_char4_sat_rtpDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z21convert_char4_sat_rtpDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z25_cl_convert_char4_sat_rtpDv4_t(<4 x i16> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z25_cl_convert_char8_sat_rtpDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z21convert_char8_sat_rtpDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z25_cl_convert_char8_sat_rtpDv8_t(<8 x i16> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z26_cl_convert_char16_sat_rtpDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z22convert_char16_sat_rtpDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z26_cl_convert_char16_sat_rtpDv16_t(<16 x i16> %a)
  ret <16 x i8> %call
}


declare i8 @_Z24_cl_convert_char_sat_rtnt(i16) local_unnamed_addr #0

define spir_func  signext i8 @_Z20convert_char_sat_rtnt(i16 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z24_cl_convert_char_sat_rtnt(i16 %a)
  ret i8 %call
}


declare <2 x i8> @_Z25_cl_convert_char2_sat_rtnDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z21convert_char2_sat_rtnDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z25_cl_convert_char2_sat_rtnDv2_t(<2 x i16> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z25_cl_convert_char3_sat_rtnDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z21convert_char3_sat_rtnDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z25_cl_convert_char3_sat_rtnDv3_t(<3 x i16> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z25_cl_convert_char4_sat_rtnDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z21convert_char4_sat_rtnDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z25_cl_convert_char4_sat_rtnDv4_t(<4 x i16> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z25_cl_convert_char8_sat_rtnDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z21convert_char8_sat_rtnDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z25_cl_convert_char8_sat_rtnDv8_t(<8 x i16> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z26_cl_convert_char16_sat_rtnDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z22convert_char16_sat_rtnDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z26_cl_convert_char16_sat_rtnDv16_t(<16 x i16> %a)
  ret <16 x i8> %call
}


declare i8 @_Z24_cl_convert_char_sat_rtet(i16) local_unnamed_addr #0

define spir_func  signext i8 @_Z20convert_char_sat_rtet(i16 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z24_cl_convert_char_sat_rtet(i16 %a)
  ret i8 %call
}


declare <2 x i8> @_Z25_cl_convert_char2_sat_rteDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z21convert_char2_sat_rteDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z25_cl_convert_char2_sat_rteDv2_t(<2 x i16> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z25_cl_convert_char3_sat_rteDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z21convert_char3_sat_rteDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z25_cl_convert_char3_sat_rteDv3_t(<3 x i16> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z25_cl_convert_char4_sat_rteDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z21convert_char4_sat_rteDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z25_cl_convert_char4_sat_rteDv4_t(<4 x i16> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z25_cl_convert_char8_sat_rteDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z21convert_char8_sat_rteDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z25_cl_convert_char8_sat_rteDv8_t(<8 x i16> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z26_cl_convert_char16_sat_rteDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z22convert_char16_sat_rteDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z26_cl_convert_char16_sat_rteDv16_t(<16 x i16> %a)
  ret <16 x i8> %call
}


declare i8 @_Z24_cl_convert_char_sat_rtzt(i16) local_unnamed_addr #0

define spir_func  signext i8 @_Z20convert_char_sat_rtzt(i16 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z24_cl_convert_char_sat_rtzt(i16 %a)
  ret i8 %call
}


declare <2 x i8> @_Z25_cl_convert_char2_sat_rtzDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z21convert_char2_sat_rtzDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z25_cl_convert_char2_sat_rtzDv2_t(<2 x i16> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z25_cl_convert_char3_sat_rtzDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z21convert_char3_sat_rtzDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z25_cl_convert_char3_sat_rtzDv3_t(<3 x i16> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z25_cl_convert_char4_sat_rtzDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z21convert_char4_sat_rtzDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z25_cl_convert_char4_sat_rtzDv4_t(<4 x i16> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z25_cl_convert_char8_sat_rtzDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z21convert_char8_sat_rtzDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z25_cl_convert_char8_sat_rtzDv8_t(<8 x i16> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z26_cl_convert_char16_sat_rtzDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z22convert_char16_sat_rtzDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z26_cl_convert_char16_sat_rtzDv16_t(<16 x i16> %a)
  ret <16 x i8> %call
}


declare i8 @_Z16_cl_convert_chari(i32) local_unnamed_addr #0

define spir_func  signext i8 @_Z12convert_chari(i32 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z16_cl_convert_chari(i32 %a)
  ret i8 %call
}


declare <2 x i8> @_Z17_cl_convert_char2Dv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z13convert_char2Dv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z17_cl_convert_char2Dv2_i(<2 x i32> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z17_cl_convert_char3Dv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z13convert_char3Dv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z17_cl_convert_char3Dv3_i(<3 x i32> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z17_cl_convert_char4Dv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z13convert_char4Dv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z17_cl_convert_char4Dv4_i(<4 x i32> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z17_cl_convert_char8Dv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z13convert_char8Dv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z17_cl_convert_char8Dv8_i(<8 x i32> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z18_cl_convert_char16Dv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z14convert_char16Dv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z18_cl_convert_char16Dv16_i(<16 x i32> %a)
  ret <16 x i8> %call
}


declare i8 @_Z20_cl_convert_char_rtpi(i32) local_unnamed_addr #0

define spir_func  signext i8 @_Z16convert_char_rtpi(i32 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z20_cl_convert_char_rtpi(i32 %a)
  ret i8 %call
}


declare <2 x i8> @_Z21_cl_convert_char2_rtpDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z17convert_char2_rtpDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z21_cl_convert_char2_rtpDv2_i(<2 x i32> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z21_cl_convert_char3_rtpDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z17convert_char3_rtpDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z21_cl_convert_char3_rtpDv3_i(<3 x i32> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z21_cl_convert_char4_rtpDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z17convert_char4_rtpDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z21_cl_convert_char4_rtpDv4_i(<4 x i32> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z21_cl_convert_char8_rtpDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z17convert_char8_rtpDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z21_cl_convert_char8_rtpDv8_i(<8 x i32> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z22_cl_convert_char16_rtpDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z18convert_char16_rtpDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z22_cl_convert_char16_rtpDv16_i(<16 x i32> %a)
  ret <16 x i8> %call
}


declare i8 @_Z20_cl_convert_char_rtni(i32) local_unnamed_addr #0

define spir_func  signext i8 @_Z16convert_char_rtni(i32 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z20_cl_convert_char_rtni(i32 %a)
  ret i8 %call
}


declare <2 x i8> @_Z21_cl_convert_char2_rtnDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z17convert_char2_rtnDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z21_cl_convert_char2_rtnDv2_i(<2 x i32> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z21_cl_convert_char3_rtnDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z17convert_char3_rtnDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z21_cl_convert_char3_rtnDv3_i(<3 x i32> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z21_cl_convert_char4_rtnDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z17convert_char4_rtnDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z21_cl_convert_char4_rtnDv4_i(<4 x i32> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z21_cl_convert_char8_rtnDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z17convert_char8_rtnDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z21_cl_convert_char8_rtnDv8_i(<8 x i32> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z22_cl_convert_char16_rtnDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z18convert_char16_rtnDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z22_cl_convert_char16_rtnDv16_i(<16 x i32> %a)
  ret <16 x i8> %call
}


declare i8 @_Z20_cl_convert_char_rtei(i32) local_unnamed_addr #0

define spir_func  signext i8 @_Z16convert_char_rtei(i32 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z20_cl_convert_char_rtei(i32 %a)
  ret i8 %call
}


declare <2 x i8> @_Z21_cl_convert_char2_rteDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z17convert_char2_rteDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z21_cl_convert_char2_rteDv2_i(<2 x i32> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z21_cl_convert_char3_rteDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z17convert_char3_rteDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z21_cl_convert_char3_rteDv3_i(<3 x i32> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z21_cl_convert_char4_rteDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z17convert_char4_rteDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z21_cl_convert_char4_rteDv4_i(<4 x i32> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z21_cl_convert_char8_rteDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z17convert_char8_rteDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z21_cl_convert_char8_rteDv8_i(<8 x i32> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z22_cl_convert_char16_rteDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z18convert_char16_rteDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z22_cl_convert_char16_rteDv16_i(<16 x i32> %a)
  ret <16 x i8> %call
}


declare i8 @_Z20_cl_convert_char_rtzi(i32) local_unnamed_addr #0

define spir_func  signext i8 @_Z16convert_char_rtzi(i32 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z20_cl_convert_char_rtzi(i32 %a)
  ret i8 %call
}


declare <2 x i8> @_Z21_cl_convert_char2_rtzDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z17convert_char2_rtzDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z21_cl_convert_char2_rtzDv2_i(<2 x i32> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z21_cl_convert_char3_rtzDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z17convert_char3_rtzDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z21_cl_convert_char3_rtzDv3_i(<3 x i32> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z21_cl_convert_char4_rtzDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z17convert_char4_rtzDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z21_cl_convert_char4_rtzDv4_i(<4 x i32> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z21_cl_convert_char8_rtzDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z17convert_char8_rtzDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z21_cl_convert_char8_rtzDv8_i(<8 x i32> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z22_cl_convert_char16_rtzDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z18convert_char16_rtzDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z22_cl_convert_char16_rtzDv16_i(<16 x i32> %a)
  ret <16 x i8> %call
}


declare i8 @_Z20_cl_convert_char_sati(i32) local_unnamed_addr #0

define spir_func  signext i8 @_Z16convert_char_sati(i32 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z20_cl_convert_char_sati(i32 %a)
  ret i8 %call
}


declare <2 x i8> @_Z21_cl_convert_char2_satDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z17convert_char2_satDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z21_cl_convert_char2_satDv2_i(<2 x i32> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z21_cl_convert_char3_satDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z17convert_char3_satDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z21_cl_convert_char3_satDv3_i(<3 x i32> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z21_cl_convert_char4_satDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z17convert_char4_satDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z21_cl_convert_char4_satDv4_i(<4 x i32> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z21_cl_convert_char8_satDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z17convert_char8_satDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z21_cl_convert_char8_satDv8_i(<8 x i32> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z22_cl_convert_char16_satDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z18convert_char16_satDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z22_cl_convert_char16_satDv16_i(<16 x i32> %a)
  ret <16 x i8> %call
}


declare i8 @_Z24_cl_convert_char_sat_rtpi(i32) local_unnamed_addr #0

define spir_func  signext i8 @_Z20convert_char_sat_rtpi(i32 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z24_cl_convert_char_sat_rtpi(i32 %a)
  ret i8 %call
}


declare <2 x i8> @_Z25_cl_convert_char2_sat_rtpDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z21convert_char2_sat_rtpDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z25_cl_convert_char2_sat_rtpDv2_i(<2 x i32> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z25_cl_convert_char3_sat_rtpDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z21convert_char3_sat_rtpDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z25_cl_convert_char3_sat_rtpDv3_i(<3 x i32> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z25_cl_convert_char4_sat_rtpDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z21convert_char4_sat_rtpDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z25_cl_convert_char4_sat_rtpDv4_i(<4 x i32> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z25_cl_convert_char8_sat_rtpDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z21convert_char8_sat_rtpDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z25_cl_convert_char8_sat_rtpDv8_i(<8 x i32> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z26_cl_convert_char16_sat_rtpDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z22convert_char16_sat_rtpDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z26_cl_convert_char16_sat_rtpDv16_i(<16 x i32> %a)
  ret <16 x i8> %call
}


declare i8 @_Z24_cl_convert_char_sat_rtni(i32) local_unnamed_addr #0

define spir_func  signext i8 @_Z20convert_char_sat_rtni(i32 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z24_cl_convert_char_sat_rtni(i32 %a)
  ret i8 %call
}


declare <2 x i8> @_Z25_cl_convert_char2_sat_rtnDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z21convert_char2_sat_rtnDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z25_cl_convert_char2_sat_rtnDv2_i(<2 x i32> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z25_cl_convert_char3_sat_rtnDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z21convert_char3_sat_rtnDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z25_cl_convert_char3_sat_rtnDv3_i(<3 x i32> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z25_cl_convert_char4_sat_rtnDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z21convert_char4_sat_rtnDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z25_cl_convert_char4_sat_rtnDv4_i(<4 x i32> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z25_cl_convert_char8_sat_rtnDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z21convert_char8_sat_rtnDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z25_cl_convert_char8_sat_rtnDv8_i(<8 x i32> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z26_cl_convert_char16_sat_rtnDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z22convert_char16_sat_rtnDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z26_cl_convert_char16_sat_rtnDv16_i(<16 x i32> %a)
  ret <16 x i8> %call
}


declare i8 @_Z24_cl_convert_char_sat_rtei(i32) local_unnamed_addr #0

define spir_func  signext i8 @_Z20convert_char_sat_rtei(i32 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z24_cl_convert_char_sat_rtei(i32 %a)
  ret i8 %call
}


declare <2 x i8> @_Z25_cl_convert_char2_sat_rteDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z21convert_char2_sat_rteDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z25_cl_convert_char2_sat_rteDv2_i(<2 x i32> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z25_cl_convert_char3_sat_rteDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z21convert_char3_sat_rteDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z25_cl_convert_char3_sat_rteDv3_i(<3 x i32> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z25_cl_convert_char4_sat_rteDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z21convert_char4_sat_rteDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z25_cl_convert_char4_sat_rteDv4_i(<4 x i32> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z25_cl_convert_char8_sat_rteDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z21convert_char8_sat_rteDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z25_cl_convert_char8_sat_rteDv8_i(<8 x i32> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z26_cl_convert_char16_sat_rteDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z22convert_char16_sat_rteDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z26_cl_convert_char16_sat_rteDv16_i(<16 x i32> %a)
  ret <16 x i8> %call
}


declare i8 @_Z24_cl_convert_char_sat_rtzi(i32) local_unnamed_addr #0

define spir_func  signext i8 @_Z20convert_char_sat_rtzi(i32 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z24_cl_convert_char_sat_rtzi(i32 %a)
  ret i8 %call
}


declare <2 x i8> @_Z25_cl_convert_char2_sat_rtzDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z21convert_char2_sat_rtzDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z25_cl_convert_char2_sat_rtzDv2_i(<2 x i32> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z25_cl_convert_char3_sat_rtzDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z21convert_char3_sat_rtzDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z25_cl_convert_char3_sat_rtzDv3_i(<3 x i32> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z25_cl_convert_char4_sat_rtzDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z21convert_char4_sat_rtzDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z25_cl_convert_char4_sat_rtzDv4_i(<4 x i32> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z25_cl_convert_char8_sat_rtzDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z21convert_char8_sat_rtzDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z25_cl_convert_char8_sat_rtzDv8_i(<8 x i32> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z26_cl_convert_char16_sat_rtzDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z22convert_char16_sat_rtzDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z26_cl_convert_char16_sat_rtzDv16_i(<16 x i32> %a)
  ret <16 x i8> %call
}


declare i8 @_Z16_cl_convert_charj(i32) local_unnamed_addr #0

define spir_func  signext i8 @_Z12convert_charj(i32 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z16_cl_convert_charj(i32 %a)
  ret i8 %call
}


declare <2 x i8> @_Z17_cl_convert_char2Dv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z13convert_char2Dv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z17_cl_convert_char2Dv2_j(<2 x i32> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z17_cl_convert_char3Dv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z13convert_char3Dv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z17_cl_convert_char3Dv3_j(<3 x i32> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z17_cl_convert_char4Dv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z13convert_char4Dv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z17_cl_convert_char4Dv4_j(<4 x i32> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z17_cl_convert_char8Dv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z13convert_char8Dv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z17_cl_convert_char8Dv8_j(<8 x i32> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z18_cl_convert_char16Dv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z14convert_char16Dv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z18_cl_convert_char16Dv16_j(<16 x i32> %a)
  ret <16 x i8> %call
}


declare i8 @_Z20_cl_convert_char_rtpj(i32) local_unnamed_addr #0

define spir_func  signext i8 @_Z16convert_char_rtpj(i32 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z20_cl_convert_char_rtpj(i32 %a)
  ret i8 %call
}


declare <2 x i8> @_Z21_cl_convert_char2_rtpDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z17convert_char2_rtpDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z21_cl_convert_char2_rtpDv2_j(<2 x i32> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z21_cl_convert_char3_rtpDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z17convert_char3_rtpDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z21_cl_convert_char3_rtpDv3_j(<3 x i32> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z21_cl_convert_char4_rtpDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z17convert_char4_rtpDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z21_cl_convert_char4_rtpDv4_j(<4 x i32> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z21_cl_convert_char8_rtpDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z17convert_char8_rtpDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z21_cl_convert_char8_rtpDv8_j(<8 x i32> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z22_cl_convert_char16_rtpDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z18convert_char16_rtpDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z22_cl_convert_char16_rtpDv16_j(<16 x i32> %a)
  ret <16 x i8> %call
}


declare i8 @_Z20_cl_convert_char_rtnj(i32) local_unnamed_addr #0

define spir_func  signext i8 @_Z16convert_char_rtnj(i32 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z20_cl_convert_char_rtnj(i32 %a)
  ret i8 %call
}


declare <2 x i8> @_Z21_cl_convert_char2_rtnDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z17convert_char2_rtnDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z21_cl_convert_char2_rtnDv2_j(<2 x i32> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z21_cl_convert_char3_rtnDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z17convert_char3_rtnDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z21_cl_convert_char3_rtnDv3_j(<3 x i32> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z21_cl_convert_char4_rtnDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z17convert_char4_rtnDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z21_cl_convert_char4_rtnDv4_j(<4 x i32> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z21_cl_convert_char8_rtnDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z17convert_char8_rtnDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z21_cl_convert_char8_rtnDv8_j(<8 x i32> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z22_cl_convert_char16_rtnDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z18convert_char16_rtnDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z22_cl_convert_char16_rtnDv16_j(<16 x i32> %a)
  ret <16 x i8> %call
}


declare i8 @_Z20_cl_convert_char_rtej(i32) local_unnamed_addr #0

define spir_func  signext i8 @_Z16convert_char_rtej(i32 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z20_cl_convert_char_rtej(i32 %a)
  ret i8 %call
}


declare <2 x i8> @_Z21_cl_convert_char2_rteDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z17convert_char2_rteDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z21_cl_convert_char2_rteDv2_j(<2 x i32> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z21_cl_convert_char3_rteDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z17convert_char3_rteDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z21_cl_convert_char3_rteDv3_j(<3 x i32> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z21_cl_convert_char4_rteDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z17convert_char4_rteDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z21_cl_convert_char4_rteDv4_j(<4 x i32> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z21_cl_convert_char8_rteDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z17convert_char8_rteDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z21_cl_convert_char8_rteDv8_j(<8 x i32> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z22_cl_convert_char16_rteDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z18convert_char16_rteDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z22_cl_convert_char16_rteDv16_j(<16 x i32> %a)
  ret <16 x i8> %call
}


declare i8 @_Z20_cl_convert_char_rtzj(i32) local_unnamed_addr #0

define spir_func  signext i8 @_Z16convert_char_rtzj(i32 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z20_cl_convert_char_rtzj(i32 %a)
  ret i8 %call
}


declare <2 x i8> @_Z21_cl_convert_char2_rtzDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z17convert_char2_rtzDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z21_cl_convert_char2_rtzDv2_j(<2 x i32> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z21_cl_convert_char3_rtzDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z17convert_char3_rtzDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z21_cl_convert_char3_rtzDv3_j(<3 x i32> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z21_cl_convert_char4_rtzDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z17convert_char4_rtzDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z21_cl_convert_char4_rtzDv4_j(<4 x i32> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z21_cl_convert_char8_rtzDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z17convert_char8_rtzDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z21_cl_convert_char8_rtzDv8_j(<8 x i32> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z22_cl_convert_char16_rtzDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z18convert_char16_rtzDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z22_cl_convert_char16_rtzDv16_j(<16 x i32> %a)
  ret <16 x i8> %call
}


declare i8 @_Z20_cl_convert_char_satj(i32) local_unnamed_addr #0

define spir_func  signext i8 @_Z16convert_char_satj(i32 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z20_cl_convert_char_satj(i32 %a)
  ret i8 %call
}


declare <2 x i8> @_Z21_cl_convert_char2_satDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z17convert_char2_satDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z21_cl_convert_char2_satDv2_j(<2 x i32> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z21_cl_convert_char3_satDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z17convert_char3_satDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z21_cl_convert_char3_satDv3_j(<3 x i32> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z21_cl_convert_char4_satDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z17convert_char4_satDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z21_cl_convert_char4_satDv4_j(<4 x i32> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z21_cl_convert_char8_satDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z17convert_char8_satDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z21_cl_convert_char8_satDv8_j(<8 x i32> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z22_cl_convert_char16_satDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z18convert_char16_satDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z22_cl_convert_char16_satDv16_j(<16 x i32> %a)
  ret <16 x i8> %call
}


declare i8 @_Z24_cl_convert_char_sat_rtpj(i32) local_unnamed_addr #0

define spir_func  signext i8 @_Z20convert_char_sat_rtpj(i32 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z24_cl_convert_char_sat_rtpj(i32 %a)
  ret i8 %call
}


declare <2 x i8> @_Z25_cl_convert_char2_sat_rtpDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z21convert_char2_sat_rtpDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z25_cl_convert_char2_sat_rtpDv2_j(<2 x i32> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z25_cl_convert_char3_sat_rtpDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z21convert_char3_sat_rtpDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z25_cl_convert_char3_sat_rtpDv3_j(<3 x i32> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z25_cl_convert_char4_sat_rtpDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z21convert_char4_sat_rtpDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z25_cl_convert_char4_sat_rtpDv4_j(<4 x i32> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z25_cl_convert_char8_sat_rtpDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z21convert_char8_sat_rtpDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z25_cl_convert_char8_sat_rtpDv8_j(<8 x i32> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z26_cl_convert_char16_sat_rtpDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z22convert_char16_sat_rtpDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z26_cl_convert_char16_sat_rtpDv16_j(<16 x i32> %a)
  ret <16 x i8> %call
}


declare i8 @_Z24_cl_convert_char_sat_rtnj(i32) local_unnamed_addr #0

define spir_func  signext i8 @_Z20convert_char_sat_rtnj(i32 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z24_cl_convert_char_sat_rtnj(i32 %a)
  ret i8 %call
}


declare <2 x i8> @_Z25_cl_convert_char2_sat_rtnDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z21convert_char2_sat_rtnDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z25_cl_convert_char2_sat_rtnDv2_j(<2 x i32> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z25_cl_convert_char3_sat_rtnDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z21convert_char3_sat_rtnDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z25_cl_convert_char3_sat_rtnDv3_j(<3 x i32> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z25_cl_convert_char4_sat_rtnDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z21convert_char4_sat_rtnDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z25_cl_convert_char4_sat_rtnDv4_j(<4 x i32> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z25_cl_convert_char8_sat_rtnDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z21convert_char8_sat_rtnDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z25_cl_convert_char8_sat_rtnDv8_j(<8 x i32> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z26_cl_convert_char16_sat_rtnDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z22convert_char16_sat_rtnDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z26_cl_convert_char16_sat_rtnDv16_j(<16 x i32> %a)
  ret <16 x i8> %call
}


declare i8 @_Z24_cl_convert_char_sat_rtej(i32) local_unnamed_addr #0

define spir_func  signext i8 @_Z20convert_char_sat_rtej(i32 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z24_cl_convert_char_sat_rtej(i32 %a)
  ret i8 %call
}


declare <2 x i8> @_Z25_cl_convert_char2_sat_rteDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z21convert_char2_sat_rteDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z25_cl_convert_char2_sat_rteDv2_j(<2 x i32> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z25_cl_convert_char3_sat_rteDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z21convert_char3_sat_rteDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z25_cl_convert_char3_sat_rteDv3_j(<3 x i32> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z25_cl_convert_char4_sat_rteDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z21convert_char4_sat_rteDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z25_cl_convert_char4_sat_rteDv4_j(<4 x i32> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z25_cl_convert_char8_sat_rteDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z21convert_char8_sat_rteDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z25_cl_convert_char8_sat_rteDv8_j(<8 x i32> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z26_cl_convert_char16_sat_rteDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z22convert_char16_sat_rteDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z26_cl_convert_char16_sat_rteDv16_j(<16 x i32> %a)
  ret <16 x i8> %call
}


declare i8 @_Z24_cl_convert_char_sat_rtzj(i32) local_unnamed_addr #0

define spir_func  signext i8 @_Z20convert_char_sat_rtzj(i32 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z24_cl_convert_char_sat_rtzj(i32 %a)
  ret i8 %call
}


declare <2 x i8> @_Z25_cl_convert_char2_sat_rtzDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z21convert_char2_sat_rtzDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z25_cl_convert_char2_sat_rtzDv2_j(<2 x i32> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z25_cl_convert_char3_sat_rtzDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z21convert_char3_sat_rtzDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z25_cl_convert_char3_sat_rtzDv3_j(<3 x i32> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z25_cl_convert_char4_sat_rtzDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z21convert_char4_sat_rtzDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z25_cl_convert_char4_sat_rtzDv4_j(<4 x i32> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z25_cl_convert_char8_sat_rtzDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z21convert_char8_sat_rtzDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z25_cl_convert_char8_sat_rtzDv8_j(<8 x i32> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z26_cl_convert_char16_sat_rtzDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z22convert_char16_sat_rtzDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z26_cl_convert_char16_sat_rtzDv16_j(<16 x i32> %a)
  ret <16 x i8> %call
}


declare i8 @_Z16_cl_convert_charl(i64) local_unnamed_addr #0

define spir_func  signext i8 @_Z12convert_charl(i64 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z16_cl_convert_charl(i64 %a)
  ret i8 %call
}


declare <2 x i8> @_Z17_cl_convert_char2Dv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z13convert_char2Dv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z17_cl_convert_char2Dv2_l(<2 x i64> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z17_cl_convert_char3Dv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z13convert_char3Dv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z17_cl_convert_char3Dv3_l(<3 x i64> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z17_cl_convert_char4Dv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z13convert_char4Dv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z17_cl_convert_char4Dv4_l(<4 x i64> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z17_cl_convert_char8Dv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z13convert_char8Dv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z17_cl_convert_char8Dv8_l(<8 x i64> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z18_cl_convert_char16Dv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z14convert_char16Dv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z18_cl_convert_char16Dv16_l(<16 x i64> %a)
  ret <16 x i8> %call
}


declare i8 @_Z20_cl_convert_char_rtpl(i64) local_unnamed_addr #0

define spir_func  signext i8 @_Z16convert_char_rtpl(i64 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z20_cl_convert_char_rtpl(i64 %a)
  ret i8 %call
}


declare <2 x i8> @_Z21_cl_convert_char2_rtpDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z17convert_char2_rtpDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z21_cl_convert_char2_rtpDv2_l(<2 x i64> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z21_cl_convert_char3_rtpDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z17convert_char3_rtpDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z21_cl_convert_char3_rtpDv3_l(<3 x i64> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z21_cl_convert_char4_rtpDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z17convert_char4_rtpDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z21_cl_convert_char4_rtpDv4_l(<4 x i64> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z21_cl_convert_char8_rtpDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z17convert_char8_rtpDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z21_cl_convert_char8_rtpDv8_l(<8 x i64> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z22_cl_convert_char16_rtpDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z18convert_char16_rtpDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z22_cl_convert_char16_rtpDv16_l(<16 x i64> %a)
  ret <16 x i8> %call
}


declare i8 @_Z20_cl_convert_char_rtnl(i64) local_unnamed_addr #0

define spir_func  signext i8 @_Z16convert_char_rtnl(i64 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z20_cl_convert_char_rtnl(i64 %a)
  ret i8 %call
}


declare <2 x i8> @_Z21_cl_convert_char2_rtnDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z17convert_char2_rtnDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z21_cl_convert_char2_rtnDv2_l(<2 x i64> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z21_cl_convert_char3_rtnDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z17convert_char3_rtnDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z21_cl_convert_char3_rtnDv3_l(<3 x i64> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z21_cl_convert_char4_rtnDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z17convert_char4_rtnDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z21_cl_convert_char4_rtnDv4_l(<4 x i64> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z21_cl_convert_char8_rtnDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z17convert_char8_rtnDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z21_cl_convert_char8_rtnDv8_l(<8 x i64> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z22_cl_convert_char16_rtnDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z18convert_char16_rtnDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z22_cl_convert_char16_rtnDv16_l(<16 x i64> %a)
  ret <16 x i8> %call
}


declare i8 @_Z20_cl_convert_char_rtel(i64) local_unnamed_addr #0

define spir_func  signext i8 @_Z16convert_char_rtel(i64 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z20_cl_convert_char_rtel(i64 %a)
  ret i8 %call
}


declare <2 x i8> @_Z21_cl_convert_char2_rteDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z17convert_char2_rteDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z21_cl_convert_char2_rteDv2_l(<2 x i64> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z21_cl_convert_char3_rteDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z17convert_char3_rteDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z21_cl_convert_char3_rteDv3_l(<3 x i64> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z21_cl_convert_char4_rteDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z17convert_char4_rteDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z21_cl_convert_char4_rteDv4_l(<4 x i64> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z21_cl_convert_char8_rteDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z17convert_char8_rteDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z21_cl_convert_char8_rteDv8_l(<8 x i64> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z22_cl_convert_char16_rteDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z18convert_char16_rteDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z22_cl_convert_char16_rteDv16_l(<16 x i64> %a)
  ret <16 x i8> %call
}


declare i8 @_Z20_cl_convert_char_rtzl(i64) local_unnamed_addr #0

define spir_func  signext i8 @_Z16convert_char_rtzl(i64 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z20_cl_convert_char_rtzl(i64 %a)
  ret i8 %call
}


declare <2 x i8> @_Z21_cl_convert_char2_rtzDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z17convert_char2_rtzDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z21_cl_convert_char2_rtzDv2_l(<2 x i64> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z21_cl_convert_char3_rtzDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z17convert_char3_rtzDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z21_cl_convert_char3_rtzDv3_l(<3 x i64> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z21_cl_convert_char4_rtzDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z17convert_char4_rtzDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z21_cl_convert_char4_rtzDv4_l(<4 x i64> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z21_cl_convert_char8_rtzDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z17convert_char8_rtzDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z21_cl_convert_char8_rtzDv8_l(<8 x i64> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z22_cl_convert_char16_rtzDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z18convert_char16_rtzDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z22_cl_convert_char16_rtzDv16_l(<16 x i64> %a)
  ret <16 x i8> %call
}


declare i8 @_Z20_cl_convert_char_satl(i64) local_unnamed_addr #0

define spir_func  signext i8 @_Z16convert_char_satl(i64 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z20_cl_convert_char_satl(i64 %a)
  ret i8 %call
}


declare <2 x i8> @_Z21_cl_convert_char2_satDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z17convert_char2_satDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z21_cl_convert_char2_satDv2_l(<2 x i64> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z21_cl_convert_char3_satDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z17convert_char3_satDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z21_cl_convert_char3_satDv3_l(<3 x i64> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z21_cl_convert_char4_satDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z17convert_char4_satDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z21_cl_convert_char4_satDv4_l(<4 x i64> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z21_cl_convert_char8_satDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z17convert_char8_satDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z21_cl_convert_char8_satDv8_l(<8 x i64> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z22_cl_convert_char16_satDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z18convert_char16_satDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z22_cl_convert_char16_satDv16_l(<16 x i64> %a)
  ret <16 x i8> %call
}


declare i8 @_Z24_cl_convert_char_sat_rtpl(i64) local_unnamed_addr #0

define spir_func  signext i8 @_Z20convert_char_sat_rtpl(i64 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z24_cl_convert_char_sat_rtpl(i64 %a)
  ret i8 %call
}


declare <2 x i8> @_Z25_cl_convert_char2_sat_rtpDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z21convert_char2_sat_rtpDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z25_cl_convert_char2_sat_rtpDv2_l(<2 x i64> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z25_cl_convert_char3_sat_rtpDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z21convert_char3_sat_rtpDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z25_cl_convert_char3_sat_rtpDv3_l(<3 x i64> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z25_cl_convert_char4_sat_rtpDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z21convert_char4_sat_rtpDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z25_cl_convert_char4_sat_rtpDv4_l(<4 x i64> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z25_cl_convert_char8_sat_rtpDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z21convert_char8_sat_rtpDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z25_cl_convert_char8_sat_rtpDv8_l(<8 x i64> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z26_cl_convert_char16_sat_rtpDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z22convert_char16_sat_rtpDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z26_cl_convert_char16_sat_rtpDv16_l(<16 x i64> %a)
  ret <16 x i8> %call
}


declare i8 @_Z24_cl_convert_char_sat_rtnl(i64) local_unnamed_addr #0

define spir_func  signext i8 @_Z20convert_char_sat_rtnl(i64 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z24_cl_convert_char_sat_rtnl(i64 %a)
  ret i8 %call
}


declare <2 x i8> @_Z25_cl_convert_char2_sat_rtnDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z21convert_char2_sat_rtnDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z25_cl_convert_char2_sat_rtnDv2_l(<2 x i64> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z25_cl_convert_char3_sat_rtnDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z21convert_char3_sat_rtnDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z25_cl_convert_char3_sat_rtnDv3_l(<3 x i64> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z25_cl_convert_char4_sat_rtnDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z21convert_char4_sat_rtnDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z25_cl_convert_char4_sat_rtnDv4_l(<4 x i64> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z25_cl_convert_char8_sat_rtnDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z21convert_char8_sat_rtnDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z25_cl_convert_char8_sat_rtnDv8_l(<8 x i64> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z26_cl_convert_char16_sat_rtnDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z22convert_char16_sat_rtnDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z26_cl_convert_char16_sat_rtnDv16_l(<16 x i64> %a)
  ret <16 x i8> %call
}


declare i8 @_Z24_cl_convert_char_sat_rtel(i64) local_unnamed_addr #0

define spir_func  signext i8 @_Z20convert_char_sat_rtel(i64 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z24_cl_convert_char_sat_rtel(i64 %a)
  ret i8 %call
}


declare <2 x i8> @_Z25_cl_convert_char2_sat_rteDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z21convert_char2_sat_rteDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z25_cl_convert_char2_sat_rteDv2_l(<2 x i64> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z25_cl_convert_char3_sat_rteDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z21convert_char3_sat_rteDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z25_cl_convert_char3_sat_rteDv3_l(<3 x i64> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z25_cl_convert_char4_sat_rteDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z21convert_char4_sat_rteDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z25_cl_convert_char4_sat_rteDv4_l(<4 x i64> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z25_cl_convert_char8_sat_rteDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z21convert_char8_sat_rteDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z25_cl_convert_char8_sat_rteDv8_l(<8 x i64> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z26_cl_convert_char16_sat_rteDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z22convert_char16_sat_rteDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z26_cl_convert_char16_sat_rteDv16_l(<16 x i64> %a)
  ret <16 x i8> %call
}


declare i8 @_Z24_cl_convert_char_sat_rtzl(i64) local_unnamed_addr #0

define spir_func  signext i8 @_Z20convert_char_sat_rtzl(i64 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z24_cl_convert_char_sat_rtzl(i64 %a)
  ret i8 %call
}


declare <2 x i8> @_Z25_cl_convert_char2_sat_rtzDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z21convert_char2_sat_rtzDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z25_cl_convert_char2_sat_rtzDv2_l(<2 x i64> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z25_cl_convert_char3_sat_rtzDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z21convert_char3_sat_rtzDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z25_cl_convert_char3_sat_rtzDv3_l(<3 x i64> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z25_cl_convert_char4_sat_rtzDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z21convert_char4_sat_rtzDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z25_cl_convert_char4_sat_rtzDv4_l(<4 x i64> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z25_cl_convert_char8_sat_rtzDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z21convert_char8_sat_rtzDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z25_cl_convert_char8_sat_rtzDv8_l(<8 x i64> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z26_cl_convert_char16_sat_rtzDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z22convert_char16_sat_rtzDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z26_cl_convert_char16_sat_rtzDv16_l(<16 x i64> %a)
  ret <16 x i8> %call
}


declare i8 @_Z16_cl_convert_charm(i64) local_unnamed_addr #0

define spir_func  signext i8 @_Z12convert_charm(i64 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z16_cl_convert_charm(i64 %a)
  ret i8 %call
}


declare <2 x i8> @_Z17_cl_convert_char2Dv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z13convert_char2Dv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z17_cl_convert_char2Dv2_m(<2 x i64> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z17_cl_convert_char3Dv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z13convert_char3Dv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z17_cl_convert_char3Dv3_m(<3 x i64> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z17_cl_convert_char4Dv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z13convert_char4Dv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z17_cl_convert_char4Dv4_m(<4 x i64> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z17_cl_convert_char8Dv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z13convert_char8Dv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z17_cl_convert_char8Dv8_m(<8 x i64> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z18_cl_convert_char16Dv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z14convert_char16Dv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z18_cl_convert_char16Dv16_m(<16 x i64> %a)
  ret <16 x i8> %call
}


declare i8 @_Z20_cl_convert_char_rtpm(i64) local_unnamed_addr #0

define spir_func  signext i8 @_Z16convert_char_rtpm(i64 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z20_cl_convert_char_rtpm(i64 %a)
  ret i8 %call
}


declare <2 x i8> @_Z21_cl_convert_char2_rtpDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z17convert_char2_rtpDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z21_cl_convert_char2_rtpDv2_m(<2 x i64> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z21_cl_convert_char3_rtpDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z17convert_char3_rtpDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z21_cl_convert_char3_rtpDv3_m(<3 x i64> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z21_cl_convert_char4_rtpDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z17convert_char4_rtpDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z21_cl_convert_char4_rtpDv4_m(<4 x i64> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z21_cl_convert_char8_rtpDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z17convert_char8_rtpDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z21_cl_convert_char8_rtpDv8_m(<8 x i64> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z22_cl_convert_char16_rtpDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z18convert_char16_rtpDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z22_cl_convert_char16_rtpDv16_m(<16 x i64> %a)
  ret <16 x i8> %call
}


declare i8 @_Z20_cl_convert_char_rtnm(i64) local_unnamed_addr #0

define spir_func  signext i8 @_Z16convert_char_rtnm(i64 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z20_cl_convert_char_rtnm(i64 %a)
  ret i8 %call
}


declare <2 x i8> @_Z21_cl_convert_char2_rtnDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z17convert_char2_rtnDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z21_cl_convert_char2_rtnDv2_m(<2 x i64> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z21_cl_convert_char3_rtnDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z17convert_char3_rtnDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z21_cl_convert_char3_rtnDv3_m(<3 x i64> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z21_cl_convert_char4_rtnDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z17convert_char4_rtnDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z21_cl_convert_char4_rtnDv4_m(<4 x i64> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z21_cl_convert_char8_rtnDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z17convert_char8_rtnDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z21_cl_convert_char8_rtnDv8_m(<8 x i64> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z22_cl_convert_char16_rtnDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z18convert_char16_rtnDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z22_cl_convert_char16_rtnDv16_m(<16 x i64> %a)
  ret <16 x i8> %call
}


declare i8 @_Z20_cl_convert_char_rtem(i64) local_unnamed_addr #0

define spir_func  signext i8 @_Z16convert_char_rtem(i64 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z20_cl_convert_char_rtem(i64 %a)
  ret i8 %call
}


declare <2 x i8> @_Z21_cl_convert_char2_rteDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z17convert_char2_rteDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z21_cl_convert_char2_rteDv2_m(<2 x i64> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z21_cl_convert_char3_rteDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z17convert_char3_rteDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z21_cl_convert_char3_rteDv3_m(<3 x i64> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z21_cl_convert_char4_rteDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z17convert_char4_rteDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z21_cl_convert_char4_rteDv4_m(<4 x i64> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z21_cl_convert_char8_rteDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z17convert_char8_rteDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z21_cl_convert_char8_rteDv8_m(<8 x i64> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z22_cl_convert_char16_rteDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z18convert_char16_rteDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z22_cl_convert_char16_rteDv16_m(<16 x i64> %a)
  ret <16 x i8> %call
}


declare i8 @_Z20_cl_convert_char_rtzm(i64) local_unnamed_addr #0

define spir_func  signext i8 @_Z16convert_char_rtzm(i64 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z20_cl_convert_char_rtzm(i64 %a)
  ret i8 %call
}


declare <2 x i8> @_Z21_cl_convert_char2_rtzDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z17convert_char2_rtzDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z21_cl_convert_char2_rtzDv2_m(<2 x i64> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z21_cl_convert_char3_rtzDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z17convert_char3_rtzDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z21_cl_convert_char3_rtzDv3_m(<3 x i64> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z21_cl_convert_char4_rtzDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z17convert_char4_rtzDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z21_cl_convert_char4_rtzDv4_m(<4 x i64> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z21_cl_convert_char8_rtzDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z17convert_char8_rtzDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z21_cl_convert_char8_rtzDv8_m(<8 x i64> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z22_cl_convert_char16_rtzDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z18convert_char16_rtzDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z22_cl_convert_char16_rtzDv16_m(<16 x i64> %a)
  ret <16 x i8> %call
}


declare i8 @_Z20_cl_convert_char_satm(i64) local_unnamed_addr #0

define spir_func  signext i8 @_Z16convert_char_satm(i64 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z20_cl_convert_char_satm(i64 %a)
  ret i8 %call
}


declare <2 x i8> @_Z21_cl_convert_char2_satDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z17convert_char2_satDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z21_cl_convert_char2_satDv2_m(<2 x i64> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z21_cl_convert_char3_satDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z17convert_char3_satDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z21_cl_convert_char3_satDv3_m(<3 x i64> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z21_cl_convert_char4_satDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z17convert_char4_satDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z21_cl_convert_char4_satDv4_m(<4 x i64> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z21_cl_convert_char8_satDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z17convert_char8_satDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z21_cl_convert_char8_satDv8_m(<8 x i64> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z22_cl_convert_char16_satDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z18convert_char16_satDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z22_cl_convert_char16_satDv16_m(<16 x i64> %a)
  ret <16 x i8> %call
}


declare i8 @_Z24_cl_convert_char_sat_rtpm(i64) local_unnamed_addr #0

define spir_func  signext i8 @_Z20convert_char_sat_rtpm(i64 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z24_cl_convert_char_sat_rtpm(i64 %a)
  ret i8 %call
}


declare <2 x i8> @_Z25_cl_convert_char2_sat_rtpDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z21convert_char2_sat_rtpDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z25_cl_convert_char2_sat_rtpDv2_m(<2 x i64> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z25_cl_convert_char3_sat_rtpDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z21convert_char3_sat_rtpDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z25_cl_convert_char3_sat_rtpDv3_m(<3 x i64> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z25_cl_convert_char4_sat_rtpDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z21convert_char4_sat_rtpDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z25_cl_convert_char4_sat_rtpDv4_m(<4 x i64> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z25_cl_convert_char8_sat_rtpDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z21convert_char8_sat_rtpDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z25_cl_convert_char8_sat_rtpDv8_m(<8 x i64> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z26_cl_convert_char16_sat_rtpDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z22convert_char16_sat_rtpDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z26_cl_convert_char16_sat_rtpDv16_m(<16 x i64> %a)
  ret <16 x i8> %call
}


declare i8 @_Z24_cl_convert_char_sat_rtnm(i64) local_unnamed_addr #0

define spir_func  signext i8 @_Z20convert_char_sat_rtnm(i64 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z24_cl_convert_char_sat_rtnm(i64 %a)
  ret i8 %call
}


declare <2 x i8> @_Z25_cl_convert_char2_sat_rtnDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z21convert_char2_sat_rtnDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z25_cl_convert_char2_sat_rtnDv2_m(<2 x i64> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z25_cl_convert_char3_sat_rtnDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z21convert_char3_sat_rtnDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z25_cl_convert_char3_sat_rtnDv3_m(<3 x i64> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z25_cl_convert_char4_sat_rtnDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z21convert_char4_sat_rtnDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z25_cl_convert_char4_sat_rtnDv4_m(<4 x i64> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z25_cl_convert_char8_sat_rtnDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z21convert_char8_sat_rtnDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z25_cl_convert_char8_sat_rtnDv8_m(<8 x i64> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z26_cl_convert_char16_sat_rtnDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z22convert_char16_sat_rtnDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z26_cl_convert_char16_sat_rtnDv16_m(<16 x i64> %a)
  ret <16 x i8> %call
}


declare i8 @_Z24_cl_convert_char_sat_rtem(i64) local_unnamed_addr #0

define spir_func  signext i8 @_Z20convert_char_sat_rtem(i64 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z24_cl_convert_char_sat_rtem(i64 %a)
  ret i8 %call
}


declare <2 x i8> @_Z25_cl_convert_char2_sat_rteDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z21convert_char2_sat_rteDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z25_cl_convert_char2_sat_rteDv2_m(<2 x i64> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z25_cl_convert_char3_sat_rteDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z21convert_char3_sat_rteDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z25_cl_convert_char3_sat_rteDv3_m(<3 x i64> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z25_cl_convert_char4_sat_rteDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z21convert_char4_sat_rteDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z25_cl_convert_char4_sat_rteDv4_m(<4 x i64> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z25_cl_convert_char8_sat_rteDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z21convert_char8_sat_rteDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z25_cl_convert_char8_sat_rteDv8_m(<8 x i64> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z26_cl_convert_char16_sat_rteDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z22convert_char16_sat_rteDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z26_cl_convert_char16_sat_rteDv16_m(<16 x i64> %a)
  ret <16 x i8> %call
}


declare i8 @_Z24_cl_convert_char_sat_rtzm(i64) local_unnamed_addr #0

define spir_func  signext i8 @_Z20convert_char_sat_rtzm(i64 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z24_cl_convert_char_sat_rtzm(i64 %a)
  ret i8 %call
}


declare <2 x i8> @_Z25_cl_convert_char2_sat_rtzDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z21convert_char2_sat_rtzDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z25_cl_convert_char2_sat_rtzDv2_m(<2 x i64> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z25_cl_convert_char3_sat_rtzDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z21convert_char3_sat_rtzDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z25_cl_convert_char3_sat_rtzDv3_m(<3 x i64> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z25_cl_convert_char4_sat_rtzDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z21convert_char4_sat_rtzDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z25_cl_convert_char4_sat_rtzDv4_m(<4 x i64> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z25_cl_convert_char8_sat_rtzDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z21convert_char8_sat_rtzDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z25_cl_convert_char8_sat_rtzDv8_m(<8 x i64> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z26_cl_convert_char16_sat_rtzDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z22convert_char16_sat_rtzDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z26_cl_convert_char16_sat_rtzDv16_m(<16 x i64> %a)
  ret <16 x i8> %call
}


declare i8 @_Z16_cl_convert_charf(float) local_unnamed_addr #0

define spir_func  signext i8 @_Z12convert_charf(float %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z16_cl_convert_charf(float %a)
  ret i8 %call
}


declare <2 x i8> @_Z17_cl_convert_char2Dv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z13convert_char2Dv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z17_cl_convert_char2Dv2_f(<2 x float> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z17_cl_convert_char3Dv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z13convert_char3Dv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z17_cl_convert_char3Dv3_f(<3 x float> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z17_cl_convert_char4Dv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z13convert_char4Dv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z17_cl_convert_char4Dv4_f(<4 x float> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z17_cl_convert_char8Dv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z13convert_char8Dv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z17_cl_convert_char8Dv8_f(<8 x float> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z18_cl_convert_char16Dv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z14convert_char16Dv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z18_cl_convert_char16Dv16_f(<16 x float> %a)
  ret <16 x i8> %call
}


declare i8 @_Z20_cl_convert_char_rtpf(float) local_unnamed_addr #0

define spir_func  signext i8 @_Z16convert_char_rtpf(float %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z20_cl_convert_char_rtpf(float %a)
  ret i8 %call
}


declare <2 x i8> @_Z21_cl_convert_char2_rtpDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z17convert_char2_rtpDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z21_cl_convert_char2_rtpDv2_f(<2 x float> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z21_cl_convert_char3_rtpDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z17convert_char3_rtpDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z21_cl_convert_char3_rtpDv3_f(<3 x float> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z21_cl_convert_char4_rtpDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z17convert_char4_rtpDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z21_cl_convert_char4_rtpDv4_f(<4 x float> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z21_cl_convert_char8_rtpDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z17convert_char8_rtpDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z21_cl_convert_char8_rtpDv8_f(<8 x float> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z22_cl_convert_char16_rtpDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z18convert_char16_rtpDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z22_cl_convert_char16_rtpDv16_f(<16 x float> %a)
  ret <16 x i8> %call
}


declare i8 @_Z20_cl_convert_char_rtnf(float) local_unnamed_addr #0

define spir_func  signext i8 @_Z16convert_char_rtnf(float %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z20_cl_convert_char_rtnf(float %a)
  ret i8 %call
}


declare <2 x i8> @_Z21_cl_convert_char2_rtnDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z17convert_char2_rtnDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z21_cl_convert_char2_rtnDv2_f(<2 x float> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z21_cl_convert_char3_rtnDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z17convert_char3_rtnDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z21_cl_convert_char3_rtnDv3_f(<3 x float> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z21_cl_convert_char4_rtnDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z17convert_char4_rtnDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z21_cl_convert_char4_rtnDv4_f(<4 x float> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z21_cl_convert_char8_rtnDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z17convert_char8_rtnDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z21_cl_convert_char8_rtnDv8_f(<8 x float> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z22_cl_convert_char16_rtnDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z18convert_char16_rtnDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z22_cl_convert_char16_rtnDv16_f(<16 x float> %a)
  ret <16 x i8> %call
}


declare i8 @_Z20_cl_convert_char_rtef(float) local_unnamed_addr #0

define spir_func  signext i8 @_Z16convert_char_rtef(float %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z20_cl_convert_char_rtef(float %a)
  ret i8 %call
}


declare <2 x i8> @_Z21_cl_convert_char2_rteDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z17convert_char2_rteDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z21_cl_convert_char2_rteDv2_f(<2 x float> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z21_cl_convert_char3_rteDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z17convert_char3_rteDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z21_cl_convert_char3_rteDv3_f(<3 x float> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z21_cl_convert_char4_rteDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z17convert_char4_rteDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z21_cl_convert_char4_rteDv4_f(<4 x float> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z21_cl_convert_char8_rteDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z17convert_char8_rteDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z21_cl_convert_char8_rteDv8_f(<8 x float> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z22_cl_convert_char16_rteDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z18convert_char16_rteDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z22_cl_convert_char16_rteDv16_f(<16 x float> %a)
  ret <16 x i8> %call
}


declare i8 @_Z20_cl_convert_char_rtzf(float) local_unnamed_addr #0

define spir_func  signext i8 @_Z16convert_char_rtzf(float %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z20_cl_convert_char_rtzf(float %a)
  ret i8 %call
}


declare <2 x i8> @_Z21_cl_convert_char2_rtzDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z17convert_char2_rtzDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z21_cl_convert_char2_rtzDv2_f(<2 x float> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z21_cl_convert_char3_rtzDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z17convert_char3_rtzDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z21_cl_convert_char3_rtzDv3_f(<3 x float> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z21_cl_convert_char4_rtzDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z17convert_char4_rtzDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z21_cl_convert_char4_rtzDv4_f(<4 x float> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z21_cl_convert_char8_rtzDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z17convert_char8_rtzDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z21_cl_convert_char8_rtzDv8_f(<8 x float> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z22_cl_convert_char16_rtzDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z18convert_char16_rtzDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z22_cl_convert_char16_rtzDv16_f(<16 x float> %a)
  ret <16 x i8> %call
}


declare i8 @_Z20_cl_convert_char_satf(float) local_unnamed_addr #0

define spir_func  signext i8 @_Z16convert_char_satf(float %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z20_cl_convert_char_satf(float %a)
  ret i8 %call
}


declare <2 x i8> @_Z21_cl_convert_char2_satDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z17convert_char2_satDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z21_cl_convert_char2_satDv2_f(<2 x float> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z21_cl_convert_char3_satDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z17convert_char3_satDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z21_cl_convert_char3_satDv3_f(<3 x float> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z21_cl_convert_char4_satDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z17convert_char4_satDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z21_cl_convert_char4_satDv4_f(<4 x float> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z21_cl_convert_char8_satDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z17convert_char8_satDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z21_cl_convert_char8_satDv8_f(<8 x float> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z22_cl_convert_char16_satDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z18convert_char16_satDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z22_cl_convert_char16_satDv16_f(<16 x float> %a)
  ret <16 x i8> %call
}


declare i8 @_Z24_cl_convert_char_sat_rtpf(float) local_unnamed_addr #0

define spir_func  signext i8 @_Z20convert_char_sat_rtpf(float %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z24_cl_convert_char_sat_rtpf(float %a)
  ret i8 %call
}


declare <2 x i8> @_Z25_cl_convert_char2_sat_rtpDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z21convert_char2_sat_rtpDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z25_cl_convert_char2_sat_rtpDv2_f(<2 x float> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z25_cl_convert_char3_sat_rtpDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z21convert_char3_sat_rtpDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z25_cl_convert_char3_sat_rtpDv3_f(<3 x float> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z25_cl_convert_char4_sat_rtpDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z21convert_char4_sat_rtpDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z25_cl_convert_char4_sat_rtpDv4_f(<4 x float> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z25_cl_convert_char8_sat_rtpDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z21convert_char8_sat_rtpDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z25_cl_convert_char8_sat_rtpDv8_f(<8 x float> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z26_cl_convert_char16_sat_rtpDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z22convert_char16_sat_rtpDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z26_cl_convert_char16_sat_rtpDv16_f(<16 x float> %a)
  ret <16 x i8> %call
}


declare i8 @_Z24_cl_convert_char_sat_rtnf(float) local_unnamed_addr #0

define spir_func  signext i8 @_Z20convert_char_sat_rtnf(float %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z24_cl_convert_char_sat_rtnf(float %a)
  ret i8 %call
}


declare <2 x i8> @_Z25_cl_convert_char2_sat_rtnDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z21convert_char2_sat_rtnDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z25_cl_convert_char2_sat_rtnDv2_f(<2 x float> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z25_cl_convert_char3_sat_rtnDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z21convert_char3_sat_rtnDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z25_cl_convert_char3_sat_rtnDv3_f(<3 x float> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z25_cl_convert_char4_sat_rtnDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z21convert_char4_sat_rtnDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z25_cl_convert_char4_sat_rtnDv4_f(<4 x float> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z25_cl_convert_char8_sat_rtnDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z21convert_char8_sat_rtnDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z25_cl_convert_char8_sat_rtnDv8_f(<8 x float> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z26_cl_convert_char16_sat_rtnDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z22convert_char16_sat_rtnDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z26_cl_convert_char16_sat_rtnDv16_f(<16 x float> %a)
  ret <16 x i8> %call
}


declare i8 @_Z24_cl_convert_char_sat_rtef(float) local_unnamed_addr #0

define spir_func  signext i8 @_Z20convert_char_sat_rtef(float %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z24_cl_convert_char_sat_rtef(float %a)
  ret i8 %call
}


declare <2 x i8> @_Z25_cl_convert_char2_sat_rteDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z21convert_char2_sat_rteDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z25_cl_convert_char2_sat_rteDv2_f(<2 x float> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z25_cl_convert_char3_sat_rteDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z21convert_char3_sat_rteDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z25_cl_convert_char3_sat_rteDv3_f(<3 x float> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z25_cl_convert_char4_sat_rteDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z21convert_char4_sat_rteDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z25_cl_convert_char4_sat_rteDv4_f(<4 x float> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z25_cl_convert_char8_sat_rteDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z21convert_char8_sat_rteDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z25_cl_convert_char8_sat_rteDv8_f(<8 x float> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z26_cl_convert_char16_sat_rteDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z22convert_char16_sat_rteDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z26_cl_convert_char16_sat_rteDv16_f(<16 x float> %a)
  ret <16 x i8> %call
}


declare i8 @_Z24_cl_convert_char_sat_rtzf(float) local_unnamed_addr #0

define spir_func  signext i8 @_Z20convert_char_sat_rtzf(float %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z24_cl_convert_char_sat_rtzf(float %a)
  ret i8 %call
}


declare <2 x i8> @_Z25_cl_convert_char2_sat_rtzDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z21convert_char2_sat_rtzDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z25_cl_convert_char2_sat_rtzDv2_f(<2 x float> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z25_cl_convert_char3_sat_rtzDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z21convert_char3_sat_rtzDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z25_cl_convert_char3_sat_rtzDv3_f(<3 x float> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z25_cl_convert_char4_sat_rtzDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z21convert_char4_sat_rtzDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z25_cl_convert_char4_sat_rtzDv4_f(<4 x float> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z25_cl_convert_char8_sat_rtzDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z21convert_char8_sat_rtzDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z25_cl_convert_char8_sat_rtzDv8_f(<8 x float> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z26_cl_convert_char16_sat_rtzDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z22convert_char16_sat_rtzDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z26_cl_convert_char16_sat_rtzDv16_f(<16 x float> %a)
  ret <16 x i8> %call
}


declare i8 @_Z16_cl_convert_chard(double) local_unnamed_addr #0

define spir_func  signext i8 @_Z12convert_chard(double %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z16_cl_convert_chard(double %a)
  ret i8 %call
}


declare <2 x i8> @_Z17_cl_convert_char2Dv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z13convert_char2Dv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z17_cl_convert_char2Dv2_d(<2 x double> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z17_cl_convert_char3Dv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z13convert_char3Dv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z17_cl_convert_char3Dv3_d(<3 x double> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z17_cl_convert_char4Dv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z13convert_char4Dv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z17_cl_convert_char4Dv4_d(<4 x double> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z17_cl_convert_char8Dv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z13convert_char8Dv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z17_cl_convert_char8Dv8_d(<8 x double> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z18_cl_convert_char16Dv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z14convert_char16Dv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z18_cl_convert_char16Dv16_d(<16 x double> %a)
  ret <16 x i8> %call
}


declare i8 @_Z20_cl_convert_char_rtpd(double) local_unnamed_addr #0

define spir_func  signext i8 @_Z16convert_char_rtpd(double %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z20_cl_convert_char_rtpd(double %a)
  ret i8 %call
}


declare <2 x i8> @_Z21_cl_convert_char2_rtpDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z17convert_char2_rtpDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z21_cl_convert_char2_rtpDv2_d(<2 x double> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z21_cl_convert_char3_rtpDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z17convert_char3_rtpDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z21_cl_convert_char3_rtpDv3_d(<3 x double> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z21_cl_convert_char4_rtpDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z17convert_char4_rtpDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z21_cl_convert_char4_rtpDv4_d(<4 x double> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z21_cl_convert_char8_rtpDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z17convert_char8_rtpDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z21_cl_convert_char8_rtpDv8_d(<8 x double> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z22_cl_convert_char16_rtpDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z18convert_char16_rtpDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z22_cl_convert_char16_rtpDv16_d(<16 x double> %a)
  ret <16 x i8> %call
}


declare i8 @_Z20_cl_convert_char_rtnd(double) local_unnamed_addr #0

define spir_func  signext i8 @_Z16convert_char_rtnd(double %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z20_cl_convert_char_rtnd(double %a)
  ret i8 %call
}


declare <2 x i8> @_Z21_cl_convert_char2_rtnDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z17convert_char2_rtnDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z21_cl_convert_char2_rtnDv2_d(<2 x double> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z21_cl_convert_char3_rtnDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z17convert_char3_rtnDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z21_cl_convert_char3_rtnDv3_d(<3 x double> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z21_cl_convert_char4_rtnDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z17convert_char4_rtnDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z21_cl_convert_char4_rtnDv4_d(<4 x double> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z21_cl_convert_char8_rtnDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z17convert_char8_rtnDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z21_cl_convert_char8_rtnDv8_d(<8 x double> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z22_cl_convert_char16_rtnDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z18convert_char16_rtnDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z22_cl_convert_char16_rtnDv16_d(<16 x double> %a)
  ret <16 x i8> %call
}


declare i8 @_Z20_cl_convert_char_rted(double) local_unnamed_addr #0

define spir_func  signext i8 @_Z16convert_char_rted(double %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z20_cl_convert_char_rted(double %a)
  ret i8 %call
}


declare <2 x i8> @_Z21_cl_convert_char2_rteDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z17convert_char2_rteDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z21_cl_convert_char2_rteDv2_d(<2 x double> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z21_cl_convert_char3_rteDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z17convert_char3_rteDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z21_cl_convert_char3_rteDv3_d(<3 x double> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z21_cl_convert_char4_rteDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z17convert_char4_rteDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z21_cl_convert_char4_rteDv4_d(<4 x double> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z21_cl_convert_char8_rteDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z17convert_char8_rteDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z21_cl_convert_char8_rteDv8_d(<8 x double> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z22_cl_convert_char16_rteDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z18convert_char16_rteDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z22_cl_convert_char16_rteDv16_d(<16 x double> %a)
  ret <16 x i8> %call
}


declare i8 @_Z20_cl_convert_char_rtzd(double) local_unnamed_addr #0

define spir_func  signext i8 @_Z16convert_char_rtzd(double %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z20_cl_convert_char_rtzd(double %a)
  ret i8 %call
}


declare <2 x i8> @_Z21_cl_convert_char2_rtzDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z17convert_char2_rtzDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z21_cl_convert_char2_rtzDv2_d(<2 x double> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z21_cl_convert_char3_rtzDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z17convert_char3_rtzDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z21_cl_convert_char3_rtzDv3_d(<3 x double> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z21_cl_convert_char4_rtzDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z17convert_char4_rtzDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z21_cl_convert_char4_rtzDv4_d(<4 x double> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z21_cl_convert_char8_rtzDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z17convert_char8_rtzDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z21_cl_convert_char8_rtzDv8_d(<8 x double> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z22_cl_convert_char16_rtzDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z18convert_char16_rtzDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z22_cl_convert_char16_rtzDv16_d(<16 x double> %a)
  ret <16 x i8> %call
}


declare i8 @_Z20_cl_convert_char_satd(double) local_unnamed_addr #0

define spir_func  signext i8 @_Z16convert_char_satd(double %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z20_cl_convert_char_satd(double %a)
  ret i8 %call
}


declare <2 x i8> @_Z21_cl_convert_char2_satDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z17convert_char2_satDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z21_cl_convert_char2_satDv2_d(<2 x double> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z21_cl_convert_char3_satDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z17convert_char3_satDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z21_cl_convert_char3_satDv3_d(<3 x double> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z21_cl_convert_char4_satDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z17convert_char4_satDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z21_cl_convert_char4_satDv4_d(<4 x double> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z21_cl_convert_char8_satDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z17convert_char8_satDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z21_cl_convert_char8_satDv8_d(<8 x double> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z22_cl_convert_char16_satDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z18convert_char16_satDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z22_cl_convert_char16_satDv16_d(<16 x double> %a)
  ret <16 x i8> %call
}


declare i8 @_Z24_cl_convert_char_sat_rtpd(double) local_unnamed_addr #0

define spir_func  signext i8 @_Z20convert_char_sat_rtpd(double %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z24_cl_convert_char_sat_rtpd(double %a)
  ret i8 %call
}


declare <2 x i8> @_Z25_cl_convert_char2_sat_rtpDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z21convert_char2_sat_rtpDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z25_cl_convert_char2_sat_rtpDv2_d(<2 x double> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z25_cl_convert_char3_sat_rtpDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z21convert_char3_sat_rtpDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z25_cl_convert_char3_sat_rtpDv3_d(<3 x double> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z25_cl_convert_char4_sat_rtpDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z21convert_char4_sat_rtpDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z25_cl_convert_char4_sat_rtpDv4_d(<4 x double> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z25_cl_convert_char8_sat_rtpDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z21convert_char8_sat_rtpDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z25_cl_convert_char8_sat_rtpDv8_d(<8 x double> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z26_cl_convert_char16_sat_rtpDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z22convert_char16_sat_rtpDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z26_cl_convert_char16_sat_rtpDv16_d(<16 x double> %a)
  ret <16 x i8> %call
}


declare i8 @_Z24_cl_convert_char_sat_rtnd(double) local_unnamed_addr #0

define spir_func  signext i8 @_Z20convert_char_sat_rtnd(double %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z24_cl_convert_char_sat_rtnd(double %a)
  ret i8 %call
}


declare <2 x i8> @_Z25_cl_convert_char2_sat_rtnDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z21convert_char2_sat_rtnDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z25_cl_convert_char2_sat_rtnDv2_d(<2 x double> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z25_cl_convert_char3_sat_rtnDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z21convert_char3_sat_rtnDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z25_cl_convert_char3_sat_rtnDv3_d(<3 x double> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z25_cl_convert_char4_sat_rtnDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z21convert_char4_sat_rtnDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z25_cl_convert_char4_sat_rtnDv4_d(<4 x double> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z25_cl_convert_char8_sat_rtnDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z21convert_char8_sat_rtnDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z25_cl_convert_char8_sat_rtnDv8_d(<8 x double> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z26_cl_convert_char16_sat_rtnDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z22convert_char16_sat_rtnDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z26_cl_convert_char16_sat_rtnDv16_d(<16 x double> %a)
  ret <16 x i8> %call
}


declare i8 @_Z24_cl_convert_char_sat_rted(double) local_unnamed_addr #0

define spir_func  signext i8 @_Z20convert_char_sat_rted(double %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z24_cl_convert_char_sat_rted(double %a)
  ret i8 %call
}


declare <2 x i8> @_Z25_cl_convert_char2_sat_rteDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z21convert_char2_sat_rteDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z25_cl_convert_char2_sat_rteDv2_d(<2 x double> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z25_cl_convert_char3_sat_rteDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z21convert_char3_sat_rteDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z25_cl_convert_char3_sat_rteDv3_d(<3 x double> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z25_cl_convert_char4_sat_rteDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z21convert_char4_sat_rteDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z25_cl_convert_char4_sat_rteDv4_d(<4 x double> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z25_cl_convert_char8_sat_rteDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z21convert_char8_sat_rteDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z25_cl_convert_char8_sat_rteDv8_d(<8 x double> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z26_cl_convert_char16_sat_rteDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z22convert_char16_sat_rteDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z26_cl_convert_char16_sat_rteDv16_d(<16 x double> %a)
  ret <16 x i8> %call
}


declare i8 @_Z24_cl_convert_char_sat_rtzd(double) local_unnamed_addr #0

define spir_func  signext i8 @_Z20convert_char_sat_rtzd(double %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z24_cl_convert_char_sat_rtzd(double %a)
  ret i8 %call
}


declare <2 x i8> @_Z25_cl_convert_char2_sat_rtzDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z21convert_char2_sat_rtzDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z25_cl_convert_char2_sat_rtzDv2_d(<2 x double> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z25_cl_convert_char3_sat_rtzDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z21convert_char3_sat_rtzDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z25_cl_convert_char3_sat_rtzDv3_d(<3 x double> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z25_cl_convert_char4_sat_rtzDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z21convert_char4_sat_rtzDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z25_cl_convert_char4_sat_rtzDv4_d(<4 x double> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z25_cl_convert_char8_sat_rtzDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z21convert_char8_sat_rtzDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z25_cl_convert_char8_sat_rtzDv8_d(<8 x double> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z26_cl_convert_char16_sat_rtzDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z22convert_char16_sat_rtzDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z26_cl_convert_char16_sat_rtzDv16_d(<16 x double> %a)
  ret <16 x i8> %call
}


declare i8 @_Z17_cl_convert_ucharc(i8) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z13convert_ucharc(i8 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z17_cl_convert_ucharc(i8 %a)
  ret i8 %call
}


declare <2 x i8> @_Z18_cl_convert_uchar2Dv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z14convert_uchar2Dv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z18_cl_convert_uchar2Dv2_c(<2 x i8> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z18_cl_convert_uchar3Dv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z14convert_uchar3Dv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z18_cl_convert_uchar3Dv3_c(<3 x i8> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z18_cl_convert_uchar4Dv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z14convert_uchar4Dv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z18_cl_convert_uchar4Dv4_c(<4 x i8> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z18_cl_convert_uchar8Dv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z14convert_uchar8Dv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z18_cl_convert_uchar8Dv8_c(<8 x i8> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z19_cl_convert_uchar16Dv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z15convert_uchar16Dv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z19_cl_convert_uchar16Dv16_c(<16 x i8> %a)
  ret <16 x i8> %call
}


declare i8 @_Z21_cl_convert_uchar_rtpc(i8) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z17convert_uchar_rtpc(i8 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z21_cl_convert_uchar_rtpc(i8 %a)
  ret i8 %call
}


declare <2 x i8> @_Z22_cl_convert_uchar2_rtpDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z18convert_uchar2_rtpDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z22_cl_convert_uchar2_rtpDv2_c(<2 x i8> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z22_cl_convert_uchar3_rtpDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z18convert_uchar3_rtpDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z22_cl_convert_uchar3_rtpDv3_c(<3 x i8> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z22_cl_convert_uchar4_rtpDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z18convert_uchar4_rtpDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z22_cl_convert_uchar4_rtpDv4_c(<4 x i8> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z22_cl_convert_uchar8_rtpDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z18convert_uchar8_rtpDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z22_cl_convert_uchar8_rtpDv8_c(<8 x i8> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z23_cl_convert_uchar16_rtpDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z19convert_uchar16_rtpDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z23_cl_convert_uchar16_rtpDv16_c(<16 x i8> %a)
  ret <16 x i8> %call
}


declare i8 @_Z21_cl_convert_uchar_rtnc(i8) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z17convert_uchar_rtnc(i8 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z21_cl_convert_uchar_rtnc(i8 %a)
  ret i8 %call
}


declare <2 x i8> @_Z22_cl_convert_uchar2_rtnDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z18convert_uchar2_rtnDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z22_cl_convert_uchar2_rtnDv2_c(<2 x i8> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z22_cl_convert_uchar3_rtnDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z18convert_uchar3_rtnDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z22_cl_convert_uchar3_rtnDv3_c(<3 x i8> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z22_cl_convert_uchar4_rtnDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z18convert_uchar4_rtnDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z22_cl_convert_uchar4_rtnDv4_c(<4 x i8> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z22_cl_convert_uchar8_rtnDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z18convert_uchar8_rtnDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z22_cl_convert_uchar8_rtnDv8_c(<8 x i8> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z23_cl_convert_uchar16_rtnDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z19convert_uchar16_rtnDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z23_cl_convert_uchar16_rtnDv16_c(<16 x i8> %a)
  ret <16 x i8> %call
}


declare i8 @_Z21_cl_convert_uchar_rtec(i8) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z17convert_uchar_rtec(i8 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z21_cl_convert_uchar_rtec(i8 %a)
  ret i8 %call
}


declare <2 x i8> @_Z22_cl_convert_uchar2_rteDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z18convert_uchar2_rteDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z22_cl_convert_uchar2_rteDv2_c(<2 x i8> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z22_cl_convert_uchar3_rteDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z18convert_uchar3_rteDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z22_cl_convert_uchar3_rteDv3_c(<3 x i8> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z22_cl_convert_uchar4_rteDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z18convert_uchar4_rteDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z22_cl_convert_uchar4_rteDv4_c(<4 x i8> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z22_cl_convert_uchar8_rteDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z18convert_uchar8_rteDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z22_cl_convert_uchar8_rteDv8_c(<8 x i8> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z23_cl_convert_uchar16_rteDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z19convert_uchar16_rteDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z23_cl_convert_uchar16_rteDv16_c(<16 x i8> %a)
  ret <16 x i8> %call
}


declare i8 @_Z21_cl_convert_uchar_rtzc(i8) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z17convert_uchar_rtzc(i8 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z21_cl_convert_uchar_rtzc(i8 %a)
  ret i8 %call
}


declare <2 x i8> @_Z22_cl_convert_uchar2_rtzDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z18convert_uchar2_rtzDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z22_cl_convert_uchar2_rtzDv2_c(<2 x i8> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z22_cl_convert_uchar3_rtzDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z18convert_uchar3_rtzDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z22_cl_convert_uchar3_rtzDv3_c(<3 x i8> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z22_cl_convert_uchar4_rtzDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z18convert_uchar4_rtzDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z22_cl_convert_uchar4_rtzDv4_c(<4 x i8> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z22_cl_convert_uchar8_rtzDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z18convert_uchar8_rtzDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z22_cl_convert_uchar8_rtzDv8_c(<8 x i8> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z23_cl_convert_uchar16_rtzDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z19convert_uchar16_rtzDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z23_cl_convert_uchar16_rtzDv16_c(<16 x i8> %a)
  ret <16 x i8> %call
}


declare i8 @_Z21_cl_convert_uchar_satc(i8) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z17convert_uchar_satc(i8 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z21_cl_convert_uchar_satc(i8 %a)
  ret i8 %call
}


declare <2 x i8> @_Z22_cl_convert_uchar2_satDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z18convert_uchar2_satDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z22_cl_convert_uchar2_satDv2_c(<2 x i8> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z22_cl_convert_uchar3_satDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z18convert_uchar3_satDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z22_cl_convert_uchar3_satDv3_c(<3 x i8> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z22_cl_convert_uchar4_satDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z18convert_uchar4_satDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z22_cl_convert_uchar4_satDv4_c(<4 x i8> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z22_cl_convert_uchar8_satDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z18convert_uchar8_satDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z22_cl_convert_uchar8_satDv8_c(<8 x i8> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z23_cl_convert_uchar16_satDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z19convert_uchar16_satDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z23_cl_convert_uchar16_satDv16_c(<16 x i8> %a)
  ret <16 x i8> %call
}


declare i8 @_Z25_cl_convert_uchar_sat_rtpc(i8) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z21convert_uchar_sat_rtpc(i8 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z25_cl_convert_uchar_sat_rtpc(i8 %a)
  ret i8 %call
}


declare <2 x i8> @_Z26_cl_convert_uchar2_sat_rtpDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z22convert_uchar2_sat_rtpDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z26_cl_convert_uchar2_sat_rtpDv2_c(<2 x i8> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z26_cl_convert_uchar3_sat_rtpDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z22convert_uchar3_sat_rtpDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z26_cl_convert_uchar3_sat_rtpDv3_c(<3 x i8> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z26_cl_convert_uchar4_sat_rtpDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z22convert_uchar4_sat_rtpDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z26_cl_convert_uchar4_sat_rtpDv4_c(<4 x i8> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z26_cl_convert_uchar8_sat_rtpDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z22convert_uchar8_sat_rtpDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z26_cl_convert_uchar8_sat_rtpDv8_c(<8 x i8> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z27_cl_convert_uchar16_sat_rtpDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z23convert_uchar16_sat_rtpDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z27_cl_convert_uchar16_sat_rtpDv16_c(<16 x i8> %a)
  ret <16 x i8> %call
}


declare i8 @_Z25_cl_convert_uchar_sat_rtnc(i8) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z21convert_uchar_sat_rtnc(i8 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z25_cl_convert_uchar_sat_rtnc(i8 %a)
  ret i8 %call
}


declare <2 x i8> @_Z26_cl_convert_uchar2_sat_rtnDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z22convert_uchar2_sat_rtnDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z26_cl_convert_uchar2_sat_rtnDv2_c(<2 x i8> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z26_cl_convert_uchar3_sat_rtnDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z22convert_uchar3_sat_rtnDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z26_cl_convert_uchar3_sat_rtnDv3_c(<3 x i8> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z26_cl_convert_uchar4_sat_rtnDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z22convert_uchar4_sat_rtnDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z26_cl_convert_uchar4_sat_rtnDv4_c(<4 x i8> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z26_cl_convert_uchar8_sat_rtnDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z22convert_uchar8_sat_rtnDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z26_cl_convert_uchar8_sat_rtnDv8_c(<8 x i8> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z27_cl_convert_uchar16_sat_rtnDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z23convert_uchar16_sat_rtnDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z27_cl_convert_uchar16_sat_rtnDv16_c(<16 x i8> %a)
  ret <16 x i8> %call
}


declare i8 @_Z25_cl_convert_uchar_sat_rtec(i8) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z21convert_uchar_sat_rtec(i8 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z25_cl_convert_uchar_sat_rtec(i8 %a)
  ret i8 %call
}


declare <2 x i8> @_Z26_cl_convert_uchar2_sat_rteDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z22convert_uchar2_sat_rteDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z26_cl_convert_uchar2_sat_rteDv2_c(<2 x i8> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z26_cl_convert_uchar3_sat_rteDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z22convert_uchar3_sat_rteDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z26_cl_convert_uchar3_sat_rteDv3_c(<3 x i8> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z26_cl_convert_uchar4_sat_rteDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z22convert_uchar4_sat_rteDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z26_cl_convert_uchar4_sat_rteDv4_c(<4 x i8> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z26_cl_convert_uchar8_sat_rteDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z22convert_uchar8_sat_rteDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z26_cl_convert_uchar8_sat_rteDv8_c(<8 x i8> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z27_cl_convert_uchar16_sat_rteDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z23convert_uchar16_sat_rteDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z27_cl_convert_uchar16_sat_rteDv16_c(<16 x i8> %a)
  ret <16 x i8> %call
}


declare i8 @_Z25_cl_convert_uchar_sat_rtzc(i8) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z21convert_uchar_sat_rtzc(i8 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z25_cl_convert_uchar_sat_rtzc(i8 %a)
  ret i8 %call
}


declare <2 x i8> @_Z26_cl_convert_uchar2_sat_rtzDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z22convert_uchar2_sat_rtzDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z26_cl_convert_uchar2_sat_rtzDv2_c(<2 x i8> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z26_cl_convert_uchar3_sat_rtzDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z22convert_uchar3_sat_rtzDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z26_cl_convert_uchar3_sat_rtzDv3_c(<3 x i8> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z26_cl_convert_uchar4_sat_rtzDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z22convert_uchar4_sat_rtzDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z26_cl_convert_uchar4_sat_rtzDv4_c(<4 x i8> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z26_cl_convert_uchar8_sat_rtzDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z22convert_uchar8_sat_rtzDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z26_cl_convert_uchar8_sat_rtzDv8_c(<8 x i8> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z27_cl_convert_uchar16_sat_rtzDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z23convert_uchar16_sat_rtzDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z27_cl_convert_uchar16_sat_rtzDv16_c(<16 x i8> %a)
  ret <16 x i8> %call
}


declare i8 @_Z17_cl_convert_ucharh(i8) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z13convert_ucharh(i8 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z17_cl_convert_ucharh(i8 %a)
  ret i8 %call
}


declare <2 x i8> @_Z18_cl_convert_uchar2Dv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z14convert_uchar2Dv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z18_cl_convert_uchar2Dv2_h(<2 x i8> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z18_cl_convert_uchar3Dv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z14convert_uchar3Dv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z18_cl_convert_uchar3Dv3_h(<3 x i8> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z18_cl_convert_uchar4Dv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z14convert_uchar4Dv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z18_cl_convert_uchar4Dv4_h(<4 x i8> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z18_cl_convert_uchar8Dv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z14convert_uchar8Dv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z18_cl_convert_uchar8Dv8_h(<8 x i8> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z19_cl_convert_uchar16Dv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z15convert_uchar16Dv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z19_cl_convert_uchar16Dv16_h(<16 x i8> %a)
  ret <16 x i8> %call
}


declare i8 @_Z21_cl_convert_uchar_rtph(i8) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z17convert_uchar_rtph(i8 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z21_cl_convert_uchar_rtph(i8 %a)
  ret i8 %call
}


declare <2 x i8> @_Z22_cl_convert_uchar2_rtpDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z18convert_uchar2_rtpDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z22_cl_convert_uchar2_rtpDv2_h(<2 x i8> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z22_cl_convert_uchar3_rtpDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z18convert_uchar3_rtpDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z22_cl_convert_uchar3_rtpDv3_h(<3 x i8> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z22_cl_convert_uchar4_rtpDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z18convert_uchar4_rtpDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z22_cl_convert_uchar4_rtpDv4_h(<4 x i8> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z22_cl_convert_uchar8_rtpDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z18convert_uchar8_rtpDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z22_cl_convert_uchar8_rtpDv8_h(<8 x i8> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z23_cl_convert_uchar16_rtpDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z19convert_uchar16_rtpDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z23_cl_convert_uchar16_rtpDv16_h(<16 x i8> %a)
  ret <16 x i8> %call
}


declare i8 @_Z21_cl_convert_uchar_rtnh(i8) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z17convert_uchar_rtnh(i8 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z21_cl_convert_uchar_rtnh(i8 %a)
  ret i8 %call
}


declare <2 x i8> @_Z22_cl_convert_uchar2_rtnDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z18convert_uchar2_rtnDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z22_cl_convert_uchar2_rtnDv2_h(<2 x i8> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z22_cl_convert_uchar3_rtnDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z18convert_uchar3_rtnDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z22_cl_convert_uchar3_rtnDv3_h(<3 x i8> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z22_cl_convert_uchar4_rtnDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z18convert_uchar4_rtnDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z22_cl_convert_uchar4_rtnDv4_h(<4 x i8> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z22_cl_convert_uchar8_rtnDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z18convert_uchar8_rtnDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z22_cl_convert_uchar8_rtnDv8_h(<8 x i8> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z23_cl_convert_uchar16_rtnDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z19convert_uchar16_rtnDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z23_cl_convert_uchar16_rtnDv16_h(<16 x i8> %a)
  ret <16 x i8> %call
}


declare i8 @_Z21_cl_convert_uchar_rteh(i8) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z17convert_uchar_rteh(i8 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z21_cl_convert_uchar_rteh(i8 %a)
  ret i8 %call
}


declare <2 x i8> @_Z22_cl_convert_uchar2_rteDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z18convert_uchar2_rteDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z22_cl_convert_uchar2_rteDv2_h(<2 x i8> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z22_cl_convert_uchar3_rteDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z18convert_uchar3_rteDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z22_cl_convert_uchar3_rteDv3_h(<3 x i8> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z22_cl_convert_uchar4_rteDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z18convert_uchar4_rteDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z22_cl_convert_uchar4_rteDv4_h(<4 x i8> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z22_cl_convert_uchar8_rteDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z18convert_uchar8_rteDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z22_cl_convert_uchar8_rteDv8_h(<8 x i8> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z23_cl_convert_uchar16_rteDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z19convert_uchar16_rteDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z23_cl_convert_uchar16_rteDv16_h(<16 x i8> %a)
  ret <16 x i8> %call
}


declare i8 @_Z21_cl_convert_uchar_rtzh(i8) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z17convert_uchar_rtzh(i8 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z21_cl_convert_uchar_rtzh(i8 %a)
  ret i8 %call
}


declare <2 x i8> @_Z22_cl_convert_uchar2_rtzDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z18convert_uchar2_rtzDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z22_cl_convert_uchar2_rtzDv2_h(<2 x i8> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z22_cl_convert_uchar3_rtzDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z18convert_uchar3_rtzDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z22_cl_convert_uchar3_rtzDv3_h(<3 x i8> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z22_cl_convert_uchar4_rtzDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z18convert_uchar4_rtzDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z22_cl_convert_uchar4_rtzDv4_h(<4 x i8> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z22_cl_convert_uchar8_rtzDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z18convert_uchar8_rtzDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z22_cl_convert_uchar8_rtzDv8_h(<8 x i8> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z23_cl_convert_uchar16_rtzDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z19convert_uchar16_rtzDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z23_cl_convert_uchar16_rtzDv16_h(<16 x i8> %a)
  ret <16 x i8> %call
}


declare i8 @_Z21_cl_convert_uchar_sath(i8) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z17convert_uchar_sath(i8 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z21_cl_convert_uchar_sath(i8 %a)
  ret i8 %call
}


declare <2 x i8> @_Z22_cl_convert_uchar2_satDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z18convert_uchar2_satDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z22_cl_convert_uchar2_satDv2_h(<2 x i8> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z22_cl_convert_uchar3_satDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z18convert_uchar3_satDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z22_cl_convert_uchar3_satDv3_h(<3 x i8> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z22_cl_convert_uchar4_satDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z18convert_uchar4_satDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z22_cl_convert_uchar4_satDv4_h(<4 x i8> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z22_cl_convert_uchar8_satDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z18convert_uchar8_satDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z22_cl_convert_uchar8_satDv8_h(<8 x i8> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z23_cl_convert_uchar16_satDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z19convert_uchar16_satDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z23_cl_convert_uchar16_satDv16_h(<16 x i8> %a)
  ret <16 x i8> %call
}


declare i8 @_Z25_cl_convert_uchar_sat_rtph(i8) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z21convert_uchar_sat_rtph(i8 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z25_cl_convert_uchar_sat_rtph(i8 %a)
  ret i8 %call
}


declare <2 x i8> @_Z26_cl_convert_uchar2_sat_rtpDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z22convert_uchar2_sat_rtpDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z26_cl_convert_uchar2_sat_rtpDv2_h(<2 x i8> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z26_cl_convert_uchar3_sat_rtpDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z22convert_uchar3_sat_rtpDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z26_cl_convert_uchar3_sat_rtpDv3_h(<3 x i8> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z26_cl_convert_uchar4_sat_rtpDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z22convert_uchar4_sat_rtpDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z26_cl_convert_uchar4_sat_rtpDv4_h(<4 x i8> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z26_cl_convert_uchar8_sat_rtpDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z22convert_uchar8_sat_rtpDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z26_cl_convert_uchar8_sat_rtpDv8_h(<8 x i8> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z27_cl_convert_uchar16_sat_rtpDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z23convert_uchar16_sat_rtpDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z27_cl_convert_uchar16_sat_rtpDv16_h(<16 x i8> %a)
  ret <16 x i8> %call
}


declare i8 @_Z25_cl_convert_uchar_sat_rtnh(i8) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z21convert_uchar_sat_rtnh(i8 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z25_cl_convert_uchar_sat_rtnh(i8 %a)
  ret i8 %call
}


declare <2 x i8> @_Z26_cl_convert_uchar2_sat_rtnDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z22convert_uchar2_sat_rtnDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z26_cl_convert_uchar2_sat_rtnDv2_h(<2 x i8> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z26_cl_convert_uchar3_sat_rtnDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z22convert_uchar3_sat_rtnDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z26_cl_convert_uchar3_sat_rtnDv3_h(<3 x i8> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z26_cl_convert_uchar4_sat_rtnDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z22convert_uchar4_sat_rtnDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z26_cl_convert_uchar4_sat_rtnDv4_h(<4 x i8> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z26_cl_convert_uchar8_sat_rtnDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z22convert_uchar8_sat_rtnDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z26_cl_convert_uchar8_sat_rtnDv8_h(<8 x i8> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z27_cl_convert_uchar16_sat_rtnDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z23convert_uchar16_sat_rtnDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z27_cl_convert_uchar16_sat_rtnDv16_h(<16 x i8> %a)
  ret <16 x i8> %call
}


declare i8 @_Z25_cl_convert_uchar_sat_rteh(i8) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z21convert_uchar_sat_rteh(i8 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z25_cl_convert_uchar_sat_rteh(i8 %a)
  ret i8 %call
}


declare <2 x i8> @_Z26_cl_convert_uchar2_sat_rteDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z22convert_uchar2_sat_rteDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z26_cl_convert_uchar2_sat_rteDv2_h(<2 x i8> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z26_cl_convert_uchar3_sat_rteDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z22convert_uchar3_sat_rteDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z26_cl_convert_uchar3_sat_rteDv3_h(<3 x i8> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z26_cl_convert_uchar4_sat_rteDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z22convert_uchar4_sat_rteDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z26_cl_convert_uchar4_sat_rteDv4_h(<4 x i8> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z26_cl_convert_uchar8_sat_rteDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z22convert_uchar8_sat_rteDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z26_cl_convert_uchar8_sat_rteDv8_h(<8 x i8> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z27_cl_convert_uchar16_sat_rteDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z23convert_uchar16_sat_rteDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z27_cl_convert_uchar16_sat_rteDv16_h(<16 x i8> %a)
  ret <16 x i8> %call
}


declare i8 @_Z25_cl_convert_uchar_sat_rtzh(i8) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z21convert_uchar_sat_rtzh(i8 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z25_cl_convert_uchar_sat_rtzh(i8 %a)
  ret i8 %call
}


declare <2 x i8> @_Z26_cl_convert_uchar2_sat_rtzDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z22convert_uchar2_sat_rtzDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z26_cl_convert_uchar2_sat_rtzDv2_h(<2 x i8> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z26_cl_convert_uchar3_sat_rtzDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z22convert_uchar3_sat_rtzDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z26_cl_convert_uchar3_sat_rtzDv3_h(<3 x i8> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z26_cl_convert_uchar4_sat_rtzDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z22convert_uchar4_sat_rtzDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z26_cl_convert_uchar4_sat_rtzDv4_h(<4 x i8> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z26_cl_convert_uchar8_sat_rtzDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z22convert_uchar8_sat_rtzDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z26_cl_convert_uchar8_sat_rtzDv8_h(<8 x i8> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z27_cl_convert_uchar16_sat_rtzDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z23convert_uchar16_sat_rtzDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z27_cl_convert_uchar16_sat_rtzDv16_h(<16 x i8> %a)
  ret <16 x i8> %call
}


declare i8 @_Z17_cl_convert_uchars(i16) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z13convert_uchars(i16 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z17_cl_convert_uchars(i16 %a)
  ret i8 %call
}


declare <2 x i8> @_Z18_cl_convert_uchar2Dv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z14convert_uchar2Dv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z18_cl_convert_uchar2Dv2_s(<2 x i16> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z18_cl_convert_uchar3Dv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z14convert_uchar3Dv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z18_cl_convert_uchar3Dv3_s(<3 x i16> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z18_cl_convert_uchar4Dv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z14convert_uchar4Dv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z18_cl_convert_uchar4Dv4_s(<4 x i16> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z18_cl_convert_uchar8Dv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z14convert_uchar8Dv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z18_cl_convert_uchar8Dv8_s(<8 x i16> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z19_cl_convert_uchar16Dv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z15convert_uchar16Dv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z19_cl_convert_uchar16Dv16_s(<16 x i16> %a)
  ret <16 x i8> %call
}


declare i8 @_Z21_cl_convert_uchar_rtps(i16) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z17convert_uchar_rtps(i16 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z21_cl_convert_uchar_rtps(i16 %a)
  ret i8 %call
}


declare <2 x i8> @_Z22_cl_convert_uchar2_rtpDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z18convert_uchar2_rtpDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z22_cl_convert_uchar2_rtpDv2_s(<2 x i16> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z22_cl_convert_uchar3_rtpDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z18convert_uchar3_rtpDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z22_cl_convert_uchar3_rtpDv3_s(<3 x i16> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z22_cl_convert_uchar4_rtpDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z18convert_uchar4_rtpDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z22_cl_convert_uchar4_rtpDv4_s(<4 x i16> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z22_cl_convert_uchar8_rtpDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z18convert_uchar8_rtpDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z22_cl_convert_uchar8_rtpDv8_s(<8 x i16> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z23_cl_convert_uchar16_rtpDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z19convert_uchar16_rtpDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z23_cl_convert_uchar16_rtpDv16_s(<16 x i16> %a)
  ret <16 x i8> %call
}


declare i8 @_Z21_cl_convert_uchar_rtns(i16) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z17convert_uchar_rtns(i16 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z21_cl_convert_uchar_rtns(i16 %a)
  ret i8 %call
}


declare <2 x i8> @_Z22_cl_convert_uchar2_rtnDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z18convert_uchar2_rtnDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z22_cl_convert_uchar2_rtnDv2_s(<2 x i16> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z22_cl_convert_uchar3_rtnDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z18convert_uchar3_rtnDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z22_cl_convert_uchar3_rtnDv3_s(<3 x i16> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z22_cl_convert_uchar4_rtnDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z18convert_uchar4_rtnDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z22_cl_convert_uchar4_rtnDv4_s(<4 x i16> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z22_cl_convert_uchar8_rtnDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z18convert_uchar8_rtnDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z22_cl_convert_uchar8_rtnDv8_s(<8 x i16> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z23_cl_convert_uchar16_rtnDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z19convert_uchar16_rtnDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z23_cl_convert_uchar16_rtnDv16_s(<16 x i16> %a)
  ret <16 x i8> %call
}


declare i8 @_Z21_cl_convert_uchar_rtes(i16) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z17convert_uchar_rtes(i16 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z21_cl_convert_uchar_rtes(i16 %a)
  ret i8 %call
}


declare <2 x i8> @_Z22_cl_convert_uchar2_rteDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z18convert_uchar2_rteDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z22_cl_convert_uchar2_rteDv2_s(<2 x i16> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z22_cl_convert_uchar3_rteDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z18convert_uchar3_rteDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z22_cl_convert_uchar3_rteDv3_s(<3 x i16> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z22_cl_convert_uchar4_rteDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z18convert_uchar4_rteDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z22_cl_convert_uchar4_rteDv4_s(<4 x i16> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z22_cl_convert_uchar8_rteDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z18convert_uchar8_rteDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z22_cl_convert_uchar8_rteDv8_s(<8 x i16> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z23_cl_convert_uchar16_rteDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z19convert_uchar16_rteDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z23_cl_convert_uchar16_rteDv16_s(<16 x i16> %a)
  ret <16 x i8> %call
}


declare i8 @_Z21_cl_convert_uchar_rtzs(i16) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z17convert_uchar_rtzs(i16 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z21_cl_convert_uchar_rtzs(i16 %a)
  ret i8 %call
}


declare <2 x i8> @_Z22_cl_convert_uchar2_rtzDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z18convert_uchar2_rtzDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z22_cl_convert_uchar2_rtzDv2_s(<2 x i16> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z22_cl_convert_uchar3_rtzDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z18convert_uchar3_rtzDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z22_cl_convert_uchar3_rtzDv3_s(<3 x i16> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z22_cl_convert_uchar4_rtzDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z18convert_uchar4_rtzDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z22_cl_convert_uchar4_rtzDv4_s(<4 x i16> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z22_cl_convert_uchar8_rtzDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z18convert_uchar8_rtzDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z22_cl_convert_uchar8_rtzDv8_s(<8 x i16> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z23_cl_convert_uchar16_rtzDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z19convert_uchar16_rtzDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z23_cl_convert_uchar16_rtzDv16_s(<16 x i16> %a)
  ret <16 x i8> %call
}


declare i8 @_Z21_cl_convert_uchar_sats(i16) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z17convert_uchar_sats(i16 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z21_cl_convert_uchar_sats(i16 %a)
  ret i8 %call
}


declare <2 x i8> @_Z22_cl_convert_uchar2_satDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z18convert_uchar2_satDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z22_cl_convert_uchar2_satDv2_s(<2 x i16> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z22_cl_convert_uchar3_satDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z18convert_uchar3_satDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z22_cl_convert_uchar3_satDv3_s(<3 x i16> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z22_cl_convert_uchar4_satDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z18convert_uchar4_satDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z22_cl_convert_uchar4_satDv4_s(<4 x i16> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z22_cl_convert_uchar8_satDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z18convert_uchar8_satDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z22_cl_convert_uchar8_satDv8_s(<8 x i16> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z23_cl_convert_uchar16_satDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z19convert_uchar16_satDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z23_cl_convert_uchar16_satDv16_s(<16 x i16> %a)
  ret <16 x i8> %call
}


declare i8 @_Z25_cl_convert_uchar_sat_rtps(i16) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z21convert_uchar_sat_rtps(i16 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z25_cl_convert_uchar_sat_rtps(i16 %a)
  ret i8 %call
}


declare <2 x i8> @_Z26_cl_convert_uchar2_sat_rtpDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z22convert_uchar2_sat_rtpDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z26_cl_convert_uchar2_sat_rtpDv2_s(<2 x i16> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z26_cl_convert_uchar3_sat_rtpDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z22convert_uchar3_sat_rtpDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z26_cl_convert_uchar3_sat_rtpDv3_s(<3 x i16> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z26_cl_convert_uchar4_sat_rtpDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z22convert_uchar4_sat_rtpDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z26_cl_convert_uchar4_sat_rtpDv4_s(<4 x i16> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z26_cl_convert_uchar8_sat_rtpDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z22convert_uchar8_sat_rtpDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z26_cl_convert_uchar8_sat_rtpDv8_s(<8 x i16> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z27_cl_convert_uchar16_sat_rtpDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z23convert_uchar16_sat_rtpDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z27_cl_convert_uchar16_sat_rtpDv16_s(<16 x i16> %a)
  ret <16 x i8> %call
}


declare i8 @_Z25_cl_convert_uchar_sat_rtns(i16) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z21convert_uchar_sat_rtns(i16 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z25_cl_convert_uchar_sat_rtns(i16 %a)
  ret i8 %call
}


declare <2 x i8> @_Z26_cl_convert_uchar2_sat_rtnDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z22convert_uchar2_sat_rtnDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z26_cl_convert_uchar2_sat_rtnDv2_s(<2 x i16> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z26_cl_convert_uchar3_sat_rtnDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z22convert_uchar3_sat_rtnDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z26_cl_convert_uchar3_sat_rtnDv3_s(<3 x i16> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z26_cl_convert_uchar4_sat_rtnDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z22convert_uchar4_sat_rtnDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z26_cl_convert_uchar4_sat_rtnDv4_s(<4 x i16> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z26_cl_convert_uchar8_sat_rtnDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z22convert_uchar8_sat_rtnDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z26_cl_convert_uchar8_sat_rtnDv8_s(<8 x i16> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z27_cl_convert_uchar16_sat_rtnDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z23convert_uchar16_sat_rtnDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z27_cl_convert_uchar16_sat_rtnDv16_s(<16 x i16> %a)
  ret <16 x i8> %call
}


declare i8 @_Z25_cl_convert_uchar_sat_rtes(i16) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z21convert_uchar_sat_rtes(i16 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z25_cl_convert_uchar_sat_rtes(i16 %a)
  ret i8 %call
}


declare <2 x i8> @_Z26_cl_convert_uchar2_sat_rteDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z22convert_uchar2_sat_rteDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z26_cl_convert_uchar2_sat_rteDv2_s(<2 x i16> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z26_cl_convert_uchar3_sat_rteDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z22convert_uchar3_sat_rteDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z26_cl_convert_uchar3_sat_rteDv3_s(<3 x i16> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z26_cl_convert_uchar4_sat_rteDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z22convert_uchar4_sat_rteDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z26_cl_convert_uchar4_sat_rteDv4_s(<4 x i16> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z26_cl_convert_uchar8_sat_rteDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z22convert_uchar8_sat_rteDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z26_cl_convert_uchar8_sat_rteDv8_s(<8 x i16> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z27_cl_convert_uchar16_sat_rteDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z23convert_uchar16_sat_rteDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z27_cl_convert_uchar16_sat_rteDv16_s(<16 x i16> %a)
  ret <16 x i8> %call
}


declare i8 @_Z25_cl_convert_uchar_sat_rtzs(i16) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z21convert_uchar_sat_rtzs(i16 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z25_cl_convert_uchar_sat_rtzs(i16 %a)
  ret i8 %call
}


declare <2 x i8> @_Z26_cl_convert_uchar2_sat_rtzDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z22convert_uchar2_sat_rtzDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z26_cl_convert_uchar2_sat_rtzDv2_s(<2 x i16> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z26_cl_convert_uchar3_sat_rtzDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z22convert_uchar3_sat_rtzDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z26_cl_convert_uchar3_sat_rtzDv3_s(<3 x i16> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z26_cl_convert_uchar4_sat_rtzDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z22convert_uchar4_sat_rtzDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z26_cl_convert_uchar4_sat_rtzDv4_s(<4 x i16> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z26_cl_convert_uchar8_sat_rtzDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z22convert_uchar8_sat_rtzDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z26_cl_convert_uchar8_sat_rtzDv8_s(<8 x i16> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z27_cl_convert_uchar16_sat_rtzDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z23convert_uchar16_sat_rtzDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z27_cl_convert_uchar16_sat_rtzDv16_s(<16 x i16> %a)
  ret <16 x i8> %call
}


declare i8 @_Z17_cl_convert_uchart(i16) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z13convert_uchart(i16 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z17_cl_convert_uchart(i16 %a)
  ret i8 %call
}


declare <2 x i8> @_Z18_cl_convert_uchar2Dv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z14convert_uchar2Dv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z18_cl_convert_uchar2Dv2_t(<2 x i16> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z18_cl_convert_uchar3Dv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z14convert_uchar3Dv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z18_cl_convert_uchar3Dv3_t(<3 x i16> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z18_cl_convert_uchar4Dv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z14convert_uchar4Dv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z18_cl_convert_uchar4Dv4_t(<4 x i16> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z18_cl_convert_uchar8Dv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z14convert_uchar8Dv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z18_cl_convert_uchar8Dv8_t(<8 x i16> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z19_cl_convert_uchar16Dv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z15convert_uchar16Dv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z19_cl_convert_uchar16Dv16_t(<16 x i16> %a)
  ret <16 x i8> %call
}


declare i8 @_Z21_cl_convert_uchar_rtpt(i16) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z17convert_uchar_rtpt(i16 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z21_cl_convert_uchar_rtpt(i16 %a)
  ret i8 %call
}


declare <2 x i8> @_Z22_cl_convert_uchar2_rtpDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z18convert_uchar2_rtpDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z22_cl_convert_uchar2_rtpDv2_t(<2 x i16> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z22_cl_convert_uchar3_rtpDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z18convert_uchar3_rtpDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z22_cl_convert_uchar3_rtpDv3_t(<3 x i16> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z22_cl_convert_uchar4_rtpDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z18convert_uchar4_rtpDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z22_cl_convert_uchar4_rtpDv4_t(<4 x i16> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z22_cl_convert_uchar8_rtpDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z18convert_uchar8_rtpDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z22_cl_convert_uchar8_rtpDv8_t(<8 x i16> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z23_cl_convert_uchar16_rtpDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z19convert_uchar16_rtpDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z23_cl_convert_uchar16_rtpDv16_t(<16 x i16> %a)
  ret <16 x i8> %call
}


declare i8 @_Z21_cl_convert_uchar_rtnt(i16) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z17convert_uchar_rtnt(i16 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z21_cl_convert_uchar_rtnt(i16 %a)
  ret i8 %call
}


declare <2 x i8> @_Z22_cl_convert_uchar2_rtnDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z18convert_uchar2_rtnDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z22_cl_convert_uchar2_rtnDv2_t(<2 x i16> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z22_cl_convert_uchar3_rtnDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z18convert_uchar3_rtnDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z22_cl_convert_uchar3_rtnDv3_t(<3 x i16> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z22_cl_convert_uchar4_rtnDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z18convert_uchar4_rtnDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z22_cl_convert_uchar4_rtnDv4_t(<4 x i16> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z22_cl_convert_uchar8_rtnDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z18convert_uchar8_rtnDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z22_cl_convert_uchar8_rtnDv8_t(<8 x i16> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z23_cl_convert_uchar16_rtnDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z19convert_uchar16_rtnDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z23_cl_convert_uchar16_rtnDv16_t(<16 x i16> %a)
  ret <16 x i8> %call
}


declare i8 @_Z21_cl_convert_uchar_rtet(i16) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z17convert_uchar_rtet(i16 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z21_cl_convert_uchar_rtet(i16 %a)
  ret i8 %call
}


declare <2 x i8> @_Z22_cl_convert_uchar2_rteDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z18convert_uchar2_rteDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z22_cl_convert_uchar2_rteDv2_t(<2 x i16> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z22_cl_convert_uchar3_rteDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z18convert_uchar3_rteDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z22_cl_convert_uchar3_rteDv3_t(<3 x i16> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z22_cl_convert_uchar4_rteDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z18convert_uchar4_rteDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z22_cl_convert_uchar4_rteDv4_t(<4 x i16> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z22_cl_convert_uchar8_rteDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z18convert_uchar8_rteDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z22_cl_convert_uchar8_rteDv8_t(<8 x i16> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z23_cl_convert_uchar16_rteDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z19convert_uchar16_rteDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z23_cl_convert_uchar16_rteDv16_t(<16 x i16> %a)
  ret <16 x i8> %call
}


declare i8 @_Z21_cl_convert_uchar_rtzt(i16) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z17convert_uchar_rtzt(i16 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z21_cl_convert_uchar_rtzt(i16 %a)
  ret i8 %call
}


declare <2 x i8> @_Z22_cl_convert_uchar2_rtzDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z18convert_uchar2_rtzDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z22_cl_convert_uchar2_rtzDv2_t(<2 x i16> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z22_cl_convert_uchar3_rtzDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z18convert_uchar3_rtzDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z22_cl_convert_uchar3_rtzDv3_t(<3 x i16> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z22_cl_convert_uchar4_rtzDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z18convert_uchar4_rtzDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z22_cl_convert_uchar4_rtzDv4_t(<4 x i16> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z22_cl_convert_uchar8_rtzDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z18convert_uchar8_rtzDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z22_cl_convert_uchar8_rtzDv8_t(<8 x i16> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z23_cl_convert_uchar16_rtzDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z19convert_uchar16_rtzDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z23_cl_convert_uchar16_rtzDv16_t(<16 x i16> %a)
  ret <16 x i8> %call
}


declare i8 @_Z21_cl_convert_uchar_satt(i16) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z17convert_uchar_satt(i16 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z21_cl_convert_uchar_satt(i16 %a)
  ret i8 %call
}


declare <2 x i8> @_Z22_cl_convert_uchar2_satDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z18convert_uchar2_satDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z22_cl_convert_uchar2_satDv2_t(<2 x i16> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z22_cl_convert_uchar3_satDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z18convert_uchar3_satDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z22_cl_convert_uchar3_satDv3_t(<3 x i16> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z22_cl_convert_uchar4_satDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z18convert_uchar4_satDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z22_cl_convert_uchar4_satDv4_t(<4 x i16> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z22_cl_convert_uchar8_satDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z18convert_uchar8_satDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z22_cl_convert_uchar8_satDv8_t(<8 x i16> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z23_cl_convert_uchar16_satDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z19convert_uchar16_satDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z23_cl_convert_uchar16_satDv16_t(<16 x i16> %a)
  ret <16 x i8> %call
}


declare i8 @_Z25_cl_convert_uchar_sat_rtpt(i16) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z21convert_uchar_sat_rtpt(i16 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z25_cl_convert_uchar_sat_rtpt(i16 %a)
  ret i8 %call
}


declare <2 x i8> @_Z26_cl_convert_uchar2_sat_rtpDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z22convert_uchar2_sat_rtpDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z26_cl_convert_uchar2_sat_rtpDv2_t(<2 x i16> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z26_cl_convert_uchar3_sat_rtpDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z22convert_uchar3_sat_rtpDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z26_cl_convert_uchar3_sat_rtpDv3_t(<3 x i16> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z26_cl_convert_uchar4_sat_rtpDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z22convert_uchar4_sat_rtpDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z26_cl_convert_uchar4_sat_rtpDv4_t(<4 x i16> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z26_cl_convert_uchar8_sat_rtpDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z22convert_uchar8_sat_rtpDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z26_cl_convert_uchar8_sat_rtpDv8_t(<8 x i16> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z27_cl_convert_uchar16_sat_rtpDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z23convert_uchar16_sat_rtpDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z27_cl_convert_uchar16_sat_rtpDv16_t(<16 x i16> %a)
  ret <16 x i8> %call
}


declare i8 @_Z25_cl_convert_uchar_sat_rtnt(i16) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z21convert_uchar_sat_rtnt(i16 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z25_cl_convert_uchar_sat_rtnt(i16 %a)
  ret i8 %call
}


declare <2 x i8> @_Z26_cl_convert_uchar2_sat_rtnDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z22convert_uchar2_sat_rtnDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z26_cl_convert_uchar2_sat_rtnDv2_t(<2 x i16> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z26_cl_convert_uchar3_sat_rtnDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z22convert_uchar3_sat_rtnDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z26_cl_convert_uchar3_sat_rtnDv3_t(<3 x i16> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z26_cl_convert_uchar4_sat_rtnDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z22convert_uchar4_sat_rtnDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z26_cl_convert_uchar4_sat_rtnDv4_t(<4 x i16> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z26_cl_convert_uchar8_sat_rtnDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z22convert_uchar8_sat_rtnDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z26_cl_convert_uchar8_sat_rtnDv8_t(<8 x i16> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z27_cl_convert_uchar16_sat_rtnDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z23convert_uchar16_sat_rtnDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z27_cl_convert_uchar16_sat_rtnDv16_t(<16 x i16> %a)
  ret <16 x i8> %call
}


declare i8 @_Z25_cl_convert_uchar_sat_rtet(i16) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z21convert_uchar_sat_rtet(i16 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z25_cl_convert_uchar_sat_rtet(i16 %a)
  ret i8 %call
}


declare <2 x i8> @_Z26_cl_convert_uchar2_sat_rteDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z22convert_uchar2_sat_rteDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z26_cl_convert_uchar2_sat_rteDv2_t(<2 x i16> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z26_cl_convert_uchar3_sat_rteDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z22convert_uchar3_sat_rteDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z26_cl_convert_uchar3_sat_rteDv3_t(<3 x i16> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z26_cl_convert_uchar4_sat_rteDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z22convert_uchar4_sat_rteDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z26_cl_convert_uchar4_sat_rteDv4_t(<4 x i16> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z26_cl_convert_uchar8_sat_rteDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z22convert_uchar8_sat_rteDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z26_cl_convert_uchar8_sat_rteDv8_t(<8 x i16> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z27_cl_convert_uchar16_sat_rteDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z23convert_uchar16_sat_rteDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z27_cl_convert_uchar16_sat_rteDv16_t(<16 x i16> %a)
  ret <16 x i8> %call
}


declare i8 @_Z25_cl_convert_uchar_sat_rtzt(i16) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z21convert_uchar_sat_rtzt(i16 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z25_cl_convert_uchar_sat_rtzt(i16 %a)
  ret i8 %call
}


declare <2 x i8> @_Z26_cl_convert_uchar2_sat_rtzDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z22convert_uchar2_sat_rtzDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z26_cl_convert_uchar2_sat_rtzDv2_t(<2 x i16> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z26_cl_convert_uchar3_sat_rtzDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z22convert_uchar3_sat_rtzDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z26_cl_convert_uchar3_sat_rtzDv3_t(<3 x i16> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z26_cl_convert_uchar4_sat_rtzDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z22convert_uchar4_sat_rtzDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z26_cl_convert_uchar4_sat_rtzDv4_t(<4 x i16> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z26_cl_convert_uchar8_sat_rtzDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z22convert_uchar8_sat_rtzDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z26_cl_convert_uchar8_sat_rtzDv8_t(<8 x i16> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z27_cl_convert_uchar16_sat_rtzDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z23convert_uchar16_sat_rtzDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z27_cl_convert_uchar16_sat_rtzDv16_t(<16 x i16> %a)
  ret <16 x i8> %call
}


declare i8 @_Z17_cl_convert_uchari(i32) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z13convert_uchari(i32 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z17_cl_convert_uchari(i32 %a)
  ret i8 %call
}


declare <2 x i8> @_Z18_cl_convert_uchar2Dv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z14convert_uchar2Dv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z18_cl_convert_uchar2Dv2_i(<2 x i32> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z18_cl_convert_uchar3Dv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z14convert_uchar3Dv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z18_cl_convert_uchar3Dv3_i(<3 x i32> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z18_cl_convert_uchar4Dv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z14convert_uchar4Dv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z18_cl_convert_uchar4Dv4_i(<4 x i32> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z18_cl_convert_uchar8Dv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z14convert_uchar8Dv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z18_cl_convert_uchar8Dv8_i(<8 x i32> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z19_cl_convert_uchar16Dv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z15convert_uchar16Dv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z19_cl_convert_uchar16Dv16_i(<16 x i32> %a)
  ret <16 x i8> %call
}


declare i8 @_Z21_cl_convert_uchar_rtpi(i32) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z17convert_uchar_rtpi(i32 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z21_cl_convert_uchar_rtpi(i32 %a)
  ret i8 %call
}


declare <2 x i8> @_Z22_cl_convert_uchar2_rtpDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z18convert_uchar2_rtpDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z22_cl_convert_uchar2_rtpDv2_i(<2 x i32> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z22_cl_convert_uchar3_rtpDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z18convert_uchar3_rtpDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z22_cl_convert_uchar3_rtpDv3_i(<3 x i32> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z22_cl_convert_uchar4_rtpDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z18convert_uchar4_rtpDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z22_cl_convert_uchar4_rtpDv4_i(<4 x i32> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z22_cl_convert_uchar8_rtpDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z18convert_uchar8_rtpDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z22_cl_convert_uchar8_rtpDv8_i(<8 x i32> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z23_cl_convert_uchar16_rtpDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z19convert_uchar16_rtpDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z23_cl_convert_uchar16_rtpDv16_i(<16 x i32> %a)
  ret <16 x i8> %call
}


declare i8 @_Z21_cl_convert_uchar_rtni(i32) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z17convert_uchar_rtni(i32 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z21_cl_convert_uchar_rtni(i32 %a)
  ret i8 %call
}


declare <2 x i8> @_Z22_cl_convert_uchar2_rtnDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z18convert_uchar2_rtnDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z22_cl_convert_uchar2_rtnDv2_i(<2 x i32> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z22_cl_convert_uchar3_rtnDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z18convert_uchar3_rtnDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z22_cl_convert_uchar3_rtnDv3_i(<3 x i32> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z22_cl_convert_uchar4_rtnDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z18convert_uchar4_rtnDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z22_cl_convert_uchar4_rtnDv4_i(<4 x i32> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z22_cl_convert_uchar8_rtnDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z18convert_uchar8_rtnDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z22_cl_convert_uchar8_rtnDv8_i(<8 x i32> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z23_cl_convert_uchar16_rtnDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z19convert_uchar16_rtnDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z23_cl_convert_uchar16_rtnDv16_i(<16 x i32> %a)
  ret <16 x i8> %call
}


declare i8 @_Z21_cl_convert_uchar_rtei(i32) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z17convert_uchar_rtei(i32 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z21_cl_convert_uchar_rtei(i32 %a)
  ret i8 %call
}


declare <2 x i8> @_Z22_cl_convert_uchar2_rteDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z18convert_uchar2_rteDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z22_cl_convert_uchar2_rteDv2_i(<2 x i32> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z22_cl_convert_uchar3_rteDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z18convert_uchar3_rteDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z22_cl_convert_uchar3_rteDv3_i(<3 x i32> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z22_cl_convert_uchar4_rteDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z18convert_uchar4_rteDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z22_cl_convert_uchar4_rteDv4_i(<4 x i32> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z22_cl_convert_uchar8_rteDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z18convert_uchar8_rteDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z22_cl_convert_uchar8_rteDv8_i(<8 x i32> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z23_cl_convert_uchar16_rteDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z19convert_uchar16_rteDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z23_cl_convert_uchar16_rteDv16_i(<16 x i32> %a)
  ret <16 x i8> %call
}


declare i8 @_Z21_cl_convert_uchar_rtzi(i32) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z17convert_uchar_rtzi(i32 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z21_cl_convert_uchar_rtzi(i32 %a)
  ret i8 %call
}


declare <2 x i8> @_Z22_cl_convert_uchar2_rtzDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z18convert_uchar2_rtzDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z22_cl_convert_uchar2_rtzDv2_i(<2 x i32> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z22_cl_convert_uchar3_rtzDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z18convert_uchar3_rtzDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z22_cl_convert_uchar3_rtzDv3_i(<3 x i32> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z22_cl_convert_uchar4_rtzDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z18convert_uchar4_rtzDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z22_cl_convert_uchar4_rtzDv4_i(<4 x i32> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z22_cl_convert_uchar8_rtzDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z18convert_uchar8_rtzDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z22_cl_convert_uchar8_rtzDv8_i(<8 x i32> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z23_cl_convert_uchar16_rtzDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z19convert_uchar16_rtzDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z23_cl_convert_uchar16_rtzDv16_i(<16 x i32> %a)
  ret <16 x i8> %call
}


declare i8 @_Z21_cl_convert_uchar_sati(i32) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z17convert_uchar_sati(i32 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z21_cl_convert_uchar_sati(i32 %a)
  ret i8 %call
}


declare <2 x i8> @_Z22_cl_convert_uchar2_satDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z18convert_uchar2_satDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z22_cl_convert_uchar2_satDv2_i(<2 x i32> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z22_cl_convert_uchar3_satDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z18convert_uchar3_satDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z22_cl_convert_uchar3_satDv3_i(<3 x i32> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z22_cl_convert_uchar4_satDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z18convert_uchar4_satDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z22_cl_convert_uchar4_satDv4_i(<4 x i32> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z22_cl_convert_uchar8_satDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z18convert_uchar8_satDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z22_cl_convert_uchar8_satDv8_i(<8 x i32> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z23_cl_convert_uchar16_satDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z19convert_uchar16_satDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z23_cl_convert_uchar16_satDv16_i(<16 x i32> %a)
  ret <16 x i8> %call
}


declare i8 @_Z25_cl_convert_uchar_sat_rtpi(i32) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z21convert_uchar_sat_rtpi(i32 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z25_cl_convert_uchar_sat_rtpi(i32 %a)
  ret i8 %call
}


declare <2 x i8> @_Z26_cl_convert_uchar2_sat_rtpDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z22convert_uchar2_sat_rtpDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z26_cl_convert_uchar2_sat_rtpDv2_i(<2 x i32> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z26_cl_convert_uchar3_sat_rtpDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z22convert_uchar3_sat_rtpDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z26_cl_convert_uchar3_sat_rtpDv3_i(<3 x i32> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z26_cl_convert_uchar4_sat_rtpDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z22convert_uchar4_sat_rtpDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z26_cl_convert_uchar4_sat_rtpDv4_i(<4 x i32> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z26_cl_convert_uchar8_sat_rtpDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z22convert_uchar8_sat_rtpDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z26_cl_convert_uchar8_sat_rtpDv8_i(<8 x i32> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z27_cl_convert_uchar16_sat_rtpDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z23convert_uchar16_sat_rtpDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z27_cl_convert_uchar16_sat_rtpDv16_i(<16 x i32> %a)
  ret <16 x i8> %call
}


declare i8 @_Z25_cl_convert_uchar_sat_rtni(i32) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z21convert_uchar_sat_rtni(i32 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z25_cl_convert_uchar_sat_rtni(i32 %a)
  ret i8 %call
}


declare <2 x i8> @_Z26_cl_convert_uchar2_sat_rtnDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z22convert_uchar2_sat_rtnDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z26_cl_convert_uchar2_sat_rtnDv2_i(<2 x i32> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z26_cl_convert_uchar3_sat_rtnDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z22convert_uchar3_sat_rtnDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z26_cl_convert_uchar3_sat_rtnDv3_i(<3 x i32> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z26_cl_convert_uchar4_sat_rtnDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z22convert_uchar4_sat_rtnDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z26_cl_convert_uchar4_sat_rtnDv4_i(<4 x i32> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z26_cl_convert_uchar8_sat_rtnDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z22convert_uchar8_sat_rtnDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z26_cl_convert_uchar8_sat_rtnDv8_i(<8 x i32> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z27_cl_convert_uchar16_sat_rtnDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z23convert_uchar16_sat_rtnDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z27_cl_convert_uchar16_sat_rtnDv16_i(<16 x i32> %a)
  ret <16 x i8> %call
}


declare i8 @_Z25_cl_convert_uchar_sat_rtei(i32) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z21convert_uchar_sat_rtei(i32 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z25_cl_convert_uchar_sat_rtei(i32 %a)
  ret i8 %call
}


declare <2 x i8> @_Z26_cl_convert_uchar2_sat_rteDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z22convert_uchar2_sat_rteDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z26_cl_convert_uchar2_sat_rteDv2_i(<2 x i32> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z26_cl_convert_uchar3_sat_rteDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z22convert_uchar3_sat_rteDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z26_cl_convert_uchar3_sat_rteDv3_i(<3 x i32> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z26_cl_convert_uchar4_sat_rteDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z22convert_uchar4_sat_rteDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z26_cl_convert_uchar4_sat_rteDv4_i(<4 x i32> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z26_cl_convert_uchar8_sat_rteDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z22convert_uchar8_sat_rteDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z26_cl_convert_uchar8_sat_rteDv8_i(<8 x i32> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z27_cl_convert_uchar16_sat_rteDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z23convert_uchar16_sat_rteDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z27_cl_convert_uchar16_sat_rteDv16_i(<16 x i32> %a)
  ret <16 x i8> %call
}


declare i8 @_Z25_cl_convert_uchar_sat_rtzi(i32) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z21convert_uchar_sat_rtzi(i32 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z25_cl_convert_uchar_sat_rtzi(i32 %a)
  ret i8 %call
}


declare <2 x i8> @_Z26_cl_convert_uchar2_sat_rtzDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z22convert_uchar2_sat_rtzDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z26_cl_convert_uchar2_sat_rtzDv2_i(<2 x i32> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z26_cl_convert_uchar3_sat_rtzDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z22convert_uchar3_sat_rtzDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z26_cl_convert_uchar3_sat_rtzDv3_i(<3 x i32> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z26_cl_convert_uchar4_sat_rtzDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z22convert_uchar4_sat_rtzDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z26_cl_convert_uchar4_sat_rtzDv4_i(<4 x i32> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z26_cl_convert_uchar8_sat_rtzDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z22convert_uchar8_sat_rtzDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z26_cl_convert_uchar8_sat_rtzDv8_i(<8 x i32> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z27_cl_convert_uchar16_sat_rtzDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z23convert_uchar16_sat_rtzDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z27_cl_convert_uchar16_sat_rtzDv16_i(<16 x i32> %a)
  ret <16 x i8> %call
}


declare i8 @_Z17_cl_convert_ucharj(i32) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z13convert_ucharj(i32 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z17_cl_convert_ucharj(i32 %a)
  ret i8 %call
}


declare <2 x i8> @_Z18_cl_convert_uchar2Dv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z14convert_uchar2Dv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z18_cl_convert_uchar2Dv2_j(<2 x i32> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z18_cl_convert_uchar3Dv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z14convert_uchar3Dv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z18_cl_convert_uchar3Dv3_j(<3 x i32> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z18_cl_convert_uchar4Dv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z14convert_uchar4Dv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z18_cl_convert_uchar4Dv4_j(<4 x i32> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z18_cl_convert_uchar8Dv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z14convert_uchar8Dv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z18_cl_convert_uchar8Dv8_j(<8 x i32> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z19_cl_convert_uchar16Dv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z15convert_uchar16Dv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z19_cl_convert_uchar16Dv16_j(<16 x i32> %a)
  ret <16 x i8> %call
}


declare i8 @_Z21_cl_convert_uchar_rtpj(i32) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z17convert_uchar_rtpj(i32 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z21_cl_convert_uchar_rtpj(i32 %a)
  ret i8 %call
}


declare <2 x i8> @_Z22_cl_convert_uchar2_rtpDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z18convert_uchar2_rtpDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z22_cl_convert_uchar2_rtpDv2_j(<2 x i32> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z22_cl_convert_uchar3_rtpDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z18convert_uchar3_rtpDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z22_cl_convert_uchar3_rtpDv3_j(<3 x i32> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z22_cl_convert_uchar4_rtpDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z18convert_uchar4_rtpDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z22_cl_convert_uchar4_rtpDv4_j(<4 x i32> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z22_cl_convert_uchar8_rtpDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z18convert_uchar8_rtpDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z22_cl_convert_uchar8_rtpDv8_j(<8 x i32> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z23_cl_convert_uchar16_rtpDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z19convert_uchar16_rtpDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z23_cl_convert_uchar16_rtpDv16_j(<16 x i32> %a)
  ret <16 x i8> %call
}


declare i8 @_Z21_cl_convert_uchar_rtnj(i32) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z17convert_uchar_rtnj(i32 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z21_cl_convert_uchar_rtnj(i32 %a)
  ret i8 %call
}


declare <2 x i8> @_Z22_cl_convert_uchar2_rtnDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z18convert_uchar2_rtnDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z22_cl_convert_uchar2_rtnDv2_j(<2 x i32> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z22_cl_convert_uchar3_rtnDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z18convert_uchar3_rtnDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z22_cl_convert_uchar3_rtnDv3_j(<3 x i32> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z22_cl_convert_uchar4_rtnDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z18convert_uchar4_rtnDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z22_cl_convert_uchar4_rtnDv4_j(<4 x i32> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z22_cl_convert_uchar8_rtnDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z18convert_uchar8_rtnDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z22_cl_convert_uchar8_rtnDv8_j(<8 x i32> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z23_cl_convert_uchar16_rtnDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z19convert_uchar16_rtnDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z23_cl_convert_uchar16_rtnDv16_j(<16 x i32> %a)
  ret <16 x i8> %call
}


declare i8 @_Z21_cl_convert_uchar_rtej(i32) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z17convert_uchar_rtej(i32 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z21_cl_convert_uchar_rtej(i32 %a)
  ret i8 %call
}


declare <2 x i8> @_Z22_cl_convert_uchar2_rteDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z18convert_uchar2_rteDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z22_cl_convert_uchar2_rteDv2_j(<2 x i32> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z22_cl_convert_uchar3_rteDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z18convert_uchar3_rteDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z22_cl_convert_uchar3_rteDv3_j(<3 x i32> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z22_cl_convert_uchar4_rteDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z18convert_uchar4_rteDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z22_cl_convert_uchar4_rteDv4_j(<4 x i32> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z22_cl_convert_uchar8_rteDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z18convert_uchar8_rteDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z22_cl_convert_uchar8_rteDv8_j(<8 x i32> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z23_cl_convert_uchar16_rteDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z19convert_uchar16_rteDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z23_cl_convert_uchar16_rteDv16_j(<16 x i32> %a)
  ret <16 x i8> %call
}


declare i8 @_Z21_cl_convert_uchar_rtzj(i32) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z17convert_uchar_rtzj(i32 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z21_cl_convert_uchar_rtzj(i32 %a)
  ret i8 %call
}


declare <2 x i8> @_Z22_cl_convert_uchar2_rtzDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z18convert_uchar2_rtzDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z22_cl_convert_uchar2_rtzDv2_j(<2 x i32> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z22_cl_convert_uchar3_rtzDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z18convert_uchar3_rtzDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z22_cl_convert_uchar3_rtzDv3_j(<3 x i32> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z22_cl_convert_uchar4_rtzDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z18convert_uchar4_rtzDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z22_cl_convert_uchar4_rtzDv4_j(<4 x i32> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z22_cl_convert_uchar8_rtzDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z18convert_uchar8_rtzDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z22_cl_convert_uchar8_rtzDv8_j(<8 x i32> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z23_cl_convert_uchar16_rtzDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z19convert_uchar16_rtzDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z23_cl_convert_uchar16_rtzDv16_j(<16 x i32> %a)
  ret <16 x i8> %call
}


declare i8 @_Z21_cl_convert_uchar_satj(i32) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z17convert_uchar_satj(i32 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z21_cl_convert_uchar_satj(i32 %a)
  ret i8 %call
}


declare <2 x i8> @_Z22_cl_convert_uchar2_satDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z18convert_uchar2_satDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z22_cl_convert_uchar2_satDv2_j(<2 x i32> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z22_cl_convert_uchar3_satDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z18convert_uchar3_satDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z22_cl_convert_uchar3_satDv3_j(<3 x i32> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z22_cl_convert_uchar4_satDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z18convert_uchar4_satDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z22_cl_convert_uchar4_satDv4_j(<4 x i32> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z22_cl_convert_uchar8_satDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z18convert_uchar8_satDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z22_cl_convert_uchar8_satDv8_j(<8 x i32> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z23_cl_convert_uchar16_satDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z19convert_uchar16_satDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z23_cl_convert_uchar16_satDv16_j(<16 x i32> %a)
  ret <16 x i8> %call
}


declare i8 @_Z25_cl_convert_uchar_sat_rtpj(i32) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z21convert_uchar_sat_rtpj(i32 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z25_cl_convert_uchar_sat_rtpj(i32 %a)
  ret i8 %call
}


declare <2 x i8> @_Z26_cl_convert_uchar2_sat_rtpDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z22convert_uchar2_sat_rtpDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z26_cl_convert_uchar2_sat_rtpDv2_j(<2 x i32> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z26_cl_convert_uchar3_sat_rtpDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z22convert_uchar3_sat_rtpDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z26_cl_convert_uchar3_sat_rtpDv3_j(<3 x i32> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z26_cl_convert_uchar4_sat_rtpDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z22convert_uchar4_sat_rtpDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z26_cl_convert_uchar4_sat_rtpDv4_j(<4 x i32> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z26_cl_convert_uchar8_sat_rtpDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z22convert_uchar8_sat_rtpDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z26_cl_convert_uchar8_sat_rtpDv8_j(<8 x i32> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z27_cl_convert_uchar16_sat_rtpDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z23convert_uchar16_sat_rtpDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z27_cl_convert_uchar16_sat_rtpDv16_j(<16 x i32> %a)
  ret <16 x i8> %call
}


declare i8 @_Z25_cl_convert_uchar_sat_rtnj(i32) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z21convert_uchar_sat_rtnj(i32 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z25_cl_convert_uchar_sat_rtnj(i32 %a)
  ret i8 %call
}


declare <2 x i8> @_Z26_cl_convert_uchar2_sat_rtnDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z22convert_uchar2_sat_rtnDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z26_cl_convert_uchar2_sat_rtnDv2_j(<2 x i32> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z26_cl_convert_uchar3_sat_rtnDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z22convert_uchar3_sat_rtnDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z26_cl_convert_uchar3_sat_rtnDv3_j(<3 x i32> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z26_cl_convert_uchar4_sat_rtnDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z22convert_uchar4_sat_rtnDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z26_cl_convert_uchar4_sat_rtnDv4_j(<4 x i32> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z26_cl_convert_uchar8_sat_rtnDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z22convert_uchar8_sat_rtnDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z26_cl_convert_uchar8_sat_rtnDv8_j(<8 x i32> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z27_cl_convert_uchar16_sat_rtnDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z23convert_uchar16_sat_rtnDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z27_cl_convert_uchar16_sat_rtnDv16_j(<16 x i32> %a)
  ret <16 x i8> %call
}


declare i8 @_Z25_cl_convert_uchar_sat_rtej(i32) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z21convert_uchar_sat_rtej(i32 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z25_cl_convert_uchar_sat_rtej(i32 %a)
  ret i8 %call
}


declare <2 x i8> @_Z26_cl_convert_uchar2_sat_rteDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z22convert_uchar2_sat_rteDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z26_cl_convert_uchar2_sat_rteDv2_j(<2 x i32> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z26_cl_convert_uchar3_sat_rteDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z22convert_uchar3_sat_rteDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z26_cl_convert_uchar3_sat_rteDv3_j(<3 x i32> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z26_cl_convert_uchar4_sat_rteDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z22convert_uchar4_sat_rteDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z26_cl_convert_uchar4_sat_rteDv4_j(<4 x i32> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z26_cl_convert_uchar8_sat_rteDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z22convert_uchar8_sat_rteDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z26_cl_convert_uchar8_sat_rteDv8_j(<8 x i32> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z27_cl_convert_uchar16_sat_rteDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z23convert_uchar16_sat_rteDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z27_cl_convert_uchar16_sat_rteDv16_j(<16 x i32> %a)
  ret <16 x i8> %call
}


declare i8 @_Z25_cl_convert_uchar_sat_rtzj(i32) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z21convert_uchar_sat_rtzj(i32 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z25_cl_convert_uchar_sat_rtzj(i32 %a)
  ret i8 %call
}


declare <2 x i8> @_Z26_cl_convert_uchar2_sat_rtzDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z22convert_uchar2_sat_rtzDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z26_cl_convert_uchar2_sat_rtzDv2_j(<2 x i32> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z26_cl_convert_uchar3_sat_rtzDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z22convert_uchar3_sat_rtzDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z26_cl_convert_uchar3_sat_rtzDv3_j(<3 x i32> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z26_cl_convert_uchar4_sat_rtzDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z22convert_uchar4_sat_rtzDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z26_cl_convert_uchar4_sat_rtzDv4_j(<4 x i32> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z26_cl_convert_uchar8_sat_rtzDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z22convert_uchar8_sat_rtzDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z26_cl_convert_uchar8_sat_rtzDv8_j(<8 x i32> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z27_cl_convert_uchar16_sat_rtzDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z23convert_uchar16_sat_rtzDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z27_cl_convert_uchar16_sat_rtzDv16_j(<16 x i32> %a)
  ret <16 x i8> %call
}


declare i8 @_Z17_cl_convert_ucharl(i64) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z13convert_ucharl(i64 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z17_cl_convert_ucharl(i64 %a)
  ret i8 %call
}


declare <2 x i8> @_Z18_cl_convert_uchar2Dv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z14convert_uchar2Dv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z18_cl_convert_uchar2Dv2_l(<2 x i64> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z18_cl_convert_uchar3Dv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z14convert_uchar3Dv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z18_cl_convert_uchar3Dv3_l(<3 x i64> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z18_cl_convert_uchar4Dv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z14convert_uchar4Dv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z18_cl_convert_uchar4Dv4_l(<4 x i64> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z18_cl_convert_uchar8Dv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z14convert_uchar8Dv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z18_cl_convert_uchar8Dv8_l(<8 x i64> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z19_cl_convert_uchar16Dv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z15convert_uchar16Dv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z19_cl_convert_uchar16Dv16_l(<16 x i64> %a)
  ret <16 x i8> %call
}


declare i8 @_Z21_cl_convert_uchar_rtpl(i64) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z17convert_uchar_rtpl(i64 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z21_cl_convert_uchar_rtpl(i64 %a)
  ret i8 %call
}


declare <2 x i8> @_Z22_cl_convert_uchar2_rtpDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z18convert_uchar2_rtpDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z22_cl_convert_uchar2_rtpDv2_l(<2 x i64> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z22_cl_convert_uchar3_rtpDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z18convert_uchar3_rtpDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z22_cl_convert_uchar3_rtpDv3_l(<3 x i64> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z22_cl_convert_uchar4_rtpDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z18convert_uchar4_rtpDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z22_cl_convert_uchar4_rtpDv4_l(<4 x i64> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z22_cl_convert_uchar8_rtpDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z18convert_uchar8_rtpDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z22_cl_convert_uchar8_rtpDv8_l(<8 x i64> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z23_cl_convert_uchar16_rtpDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z19convert_uchar16_rtpDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z23_cl_convert_uchar16_rtpDv16_l(<16 x i64> %a)
  ret <16 x i8> %call
}


declare i8 @_Z21_cl_convert_uchar_rtnl(i64) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z17convert_uchar_rtnl(i64 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z21_cl_convert_uchar_rtnl(i64 %a)
  ret i8 %call
}


declare <2 x i8> @_Z22_cl_convert_uchar2_rtnDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z18convert_uchar2_rtnDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z22_cl_convert_uchar2_rtnDv2_l(<2 x i64> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z22_cl_convert_uchar3_rtnDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z18convert_uchar3_rtnDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z22_cl_convert_uchar3_rtnDv3_l(<3 x i64> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z22_cl_convert_uchar4_rtnDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z18convert_uchar4_rtnDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z22_cl_convert_uchar4_rtnDv4_l(<4 x i64> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z22_cl_convert_uchar8_rtnDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z18convert_uchar8_rtnDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z22_cl_convert_uchar8_rtnDv8_l(<8 x i64> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z23_cl_convert_uchar16_rtnDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z19convert_uchar16_rtnDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z23_cl_convert_uchar16_rtnDv16_l(<16 x i64> %a)
  ret <16 x i8> %call
}


declare i8 @_Z21_cl_convert_uchar_rtel(i64) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z17convert_uchar_rtel(i64 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z21_cl_convert_uchar_rtel(i64 %a)
  ret i8 %call
}


declare <2 x i8> @_Z22_cl_convert_uchar2_rteDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z18convert_uchar2_rteDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z22_cl_convert_uchar2_rteDv2_l(<2 x i64> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z22_cl_convert_uchar3_rteDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z18convert_uchar3_rteDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z22_cl_convert_uchar3_rteDv3_l(<3 x i64> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z22_cl_convert_uchar4_rteDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z18convert_uchar4_rteDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z22_cl_convert_uchar4_rteDv4_l(<4 x i64> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z22_cl_convert_uchar8_rteDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z18convert_uchar8_rteDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z22_cl_convert_uchar8_rteDv8_l(<8 x i64> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z23_cl_convert_uchar16_rteDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z19convert_uchar16_rteDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z23_cl_convert_uchar16_rteDv16_l(<16 x i64> %a)
  ret <16 x i8> %call
}


declare i8 @_Z21_cl_convert_uchar_rtzl(i64) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z17convert_uchar_rtzl(i64 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z21_cl_convert_uchar_rtzl(i64 %a)
  ret i8 %call
}


declare <2 x i8> @_Z22_cl_convert_uchar2_rtzDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z18convert_uchar2_rtzDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z22_cl_convert_uchar2_rtzDv2_l(<2 x i64> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z22_cl_convert_uchar3_rtzDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z18convert_uchar3_rtzDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z22_cl_convert_uchar3_rtzDv3_l(<3 x i64> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z22_cl_convert_uchar4_rtzDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z18convert_uchar4_rtzDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z22_cl_convert_uchar4_rtzDv4_l(<4 x i64> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z22_cl_convert_uchar8_rtzDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z18convert_uchar8_rtzDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z22_cl_convert_uchar8_rtzDv8_l(<8 x i64> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z23_cl_convert_uchar16_rtzDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z19convert_uchar16_rtzDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z23_cl_convert_uchar16_rtzDv16_l(<16 x i64> %a)
  ret <16 x i8> %call
}


declare i8 @_Z21_cl_convert_uchar_satl(i64) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z17convert_uchar_satl(i64 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z21_cl_convert_uchar_satl(i64 %a)
  ret i8 %call
}


declare <2 x i8> @_Z22_cl_convert_uchar2_satDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z18convert_uchar2_satDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z22_cl_convert_uchar2_satDv2_l(<2 x i64> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z22_cl_convert_uchar3_satDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z18convert_uchar3_satDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z22_cl_convert_uchar3_satDv3_l(<3 x i64> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z22_cl_convert_uchar4_satDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z18convert_uchar4_satDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z22_cl_convert_uchar4_satDv4_l(<4 x i64> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z22_cl_convert_uchar8_satDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z18convert_uchar8_satDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z22_cl_convert_uchar8_satDv8_l(<8 x i64> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z23_cl_convert_uchar16_satDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z19convert_uchar16_satDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z23_cl_convert_uchar16_satDv16_l(<16 x i64> %a)
  ret <16 x i8> %call
}


declare i8 @_Z25_cl_convert_uchar_sat_rtpl(i64) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z21convert_uchar_sat_rtpl(i64 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z25_cl_convert_uchar_sat_rtpl(i64 %a)
  ret i8 %call
}


declare <2 x i8> @_Z26_cl_convert_uchar2_sat_rtpDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z22convert_uchar2_sat_rtpDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z26_cl_convert_uchar2_sat_rtpDv2_l(<2 x i64> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z26_cl_convert_uchar3_sat_rtpDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z22convert_uchar3_sat_rtpDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z26_cl_convert_uchar3_sat_rtpDv3_l(<3 x i64> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z26_cl_convert_uchar4_sat_rtpDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z22convert_uchar4_sat_rtpDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z26_cl_convert_uchar4_sat_rtpDv4_l(<4 x i64> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z26_cl_convert_uchar8_sat_rtpDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z22convert_uchar8_sat_rtpDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z26_cl_convert_uchar8_sat_rtpDv8_l(<8 x i64> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z27_cl_convert_uchar16_sat_rtpDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z23convert_uchar16_sat_rtpDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z27_cl_convert_uchar16_sat_rtpDv16_l(<16 x i64> %a)
  ret <16 x i8> %call
}


declare i8 @_Z25_cl_convert_uchar_sat_rtnl(i64) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z21convert_uchar_sat_rtnl(i64 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z25_cl_convert_uchar_sat_rtnl(i64 %a)
  ret i8 %call
}


declare <2 x i8> @_Z26_cl_convert_uchar2_sat_rtnDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z22convert_uchar2_sat_rtnDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z26_cl_convert_uchar2_sat_rtnDv2_l(<2 x i64> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z26_cl_convert_uchar3_sat_rtnDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z22convert_uchar3_sat_rtnDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z26_cl_convert_uchar3_sat_rtnDv3_l(<3 x i64> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z26_cl_convert_uchar4_sat_rtnDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z22convert_uchar4_sat_rtnDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z26_cl_convert_uchar4_sat_rtnDv4_l(<4 x i64> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z26_cl_convert_uchar8_sat_rtnDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z22convert_uchar8_sat_rtnDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z26_cl_convert_uchar8_sat_rtnDv8_l(<8 x i64> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z27_cl_convert_uchar16_sat_rtnDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z23convert_uchar16_sat_rtnDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z27_cl_convert_uchar16_sat_rtnDv16_l(<16 x i64> %a)
  ret <16 x i8> %call
}


declare i8 @_Z25_cl_convert_uchar_sat_rtel(i64) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z21convert_uchar_sat_rtel(i64 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z25_cl_convert_uchar_sat_rtel(i64 %a)
  ret i8 %call
}


declare <2 x i8> @_Z26_cl_convert_uchar2_sat_rteDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z22convert_uchar2_sat_rteDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z26_cl_convert_uchar2_sat_rteDv2_l(<2 x i64> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z26_cl_convert_uchar3_sat_rteDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z22convert_uchar3_sat_rteDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z26_cl_convert_uchar3_sat_rteDv3_l(<3 x i64> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z26_cl_convert_uchar4_sat_rteDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z22convert_uchar4_sat_rteDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z26_cl_convert_uchar4_sat_rteDv4_l(<4 x i64> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z26_cl_convert_uchar8_sat_rteDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z22convert_uchar8_sat_rteDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z26_cl_convert_uchar8_sat_rteDv8_l(<8 x i64> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z27_cl_convert_uchar16_sat_rteDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z23convert_uchar16_sat_rteDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z27_cl_convert_uchar16_sat_rteDv16_l(<16 x i64> %a)
  ret <16 x i8> %call
}


declare i8 @_Z25_cl_convert_uchar_sat_rtzl(i64) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z21convert_uchar_sat_rtzl(i64 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z25_cl_convert_uchar_sat_rtzl(i64 %a)
  ret i8 %call
}


declare <2 x i8> @_Z26_cl_convert_uchar2_sat_rtzDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z22convert_uchar2_sat_rtzDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z26_cl_convert_uchar2_sat_rtzDv2_l(<2 x i64> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z26_cl_convert_uchar3_sat_rtzDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z22convert_uchar3_sat_rtzDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z26_cl_convert_uchar3_sat_rtzDv3_l(<3 x i64> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z26_cl_convert_uchar4_sat_rtzDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z22convert_uchar4_sat_rtzDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z26_cl_convert_uchar4_sat_rtzDv4_l(<4 x i64> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z26_cl_convert_uchar8_sat_rtzDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z22convert_uchar8_sat_rtzDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z26_cl_convert_uchar8_sat_rtzDv8_l(<8 x i64> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z27_cl_convert_uchar16_sat_rtzDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z23convert_uchar16_sat_rtzDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z27_cl_convert_uchar16_sat_rtzDv16_l(<16 x i64> %a)
  ret <16 x i8> %call
}


declare i8 @_Z17_cl_convert_ucharm(i64) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z13convert_ucharm(i64 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z17_cl_convert_ucharm(i64 %a)
  ret i8 %call
}


declare <2 x i8> @_Z18_cl_convert_uchar2Dv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z14convert_uchar2Dv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z18_cl_convert_uchar2Dv2_m(<2 x i64> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z18_cl_convert_uchar3Dv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z14convert_uchar3Dv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z18_cl_convert_uchar3Dv3_m(<3 x i64> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z18_cl_convert_uchar4Dv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z14convert_uchar4Dv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z18_cl_convert_uchar4Dv4_m(<4 x i64> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z18_cl_convert_uchar8Dv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z14convert_uchar8Dv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z18_cl_convert_uchar8Dv8_m(<8 x i64> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z19_cl_convert_uchar16Dv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z15convert_uchar16Dv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z19_cl_convert_uchar16Dv16_m(<16 x i64> %a)
  ret <16 x i8> %call
}


declare i8 @_Z21_cl_convert_uchar_rtpm(i64) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z17convert_uchar_rtpm(i64 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z21_cl_convert_uchar_rtpm(i64 %a)
  ret i8 %call
}


declare <2 x i8> @_Z22_cl_convert_uchar2_rtpDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z18convert_uchar2_rtpDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z22_cl_convert_uchar2_rtpDv2_m(<2 x i64> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z22_cl_convert_uchar3_rtpDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z18convert_uchar3_rtpDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z22_cl_convert_uchar3_rtpDv3_m(<3 x i64> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z22_cl_convert_uchar4_rtpDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z18convert_uchar4_rtpDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z22_cl_convert_uchar4_rtpDv4_m(<4 x i64> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z22_cl_convert_uchar8_rtpDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z18convert_uchar8_rtpDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z22_cl_convert_uchar8_rtpDv8_m(<8 x i64> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z23_cl_convert_uchar16_rtpDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z19convert_uchar16_rtpDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z23_cl_convert_uchar16_rtpDv16_m(<16 x i64> %a)
  ret <16 x i8> %call
}


declare i8 @_Z21_cl_convert_uchar_rtnm(i64) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z17convert_uchar_rtnm(i64 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z21_cl_convert_uchar_rtnm(i64 %a)
  ret i8 %call
}


declare <2 x i8> @_Z22_cl_convert_uchar2_rtnDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z18convert_uchar2_rtnDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z22_cl_convert_uchar2_rtnDv2_m(<2 x i64> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z22_cl_convert_uchar3_rtnDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z18convert_uchar3_rtnDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z22_cl_convert_uchar3_rtnDv3_m(<3 x i64> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z22_cl_convert_uchar4_rtnDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z18convert_uchar4_rtnDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z22_cl_convert_uchar4_rtnDv4_m(<4 x i64> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z22_cl_convert_uchar8_rtnDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z18convert_uchar8_rtnDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z22_cl_convert_uchar8_rtnDv8_m(<8 x i64> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z23_cl_convert_uchar16_rtnDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z19convert_uchar16_rtnDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z23_cl_convert_uchar16_rtnDv16_m(<16 x i64> %a)
  ret <16 x i8> %call
}


declare i8 @_Z21_cl_convert_uchar_rtem(i64) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z17convert_uchar_rtem(i64 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z21_cl_convert_uchar_rtem(i64 %a)
  ret i8 %call
}


declare <2 x i8> @_Z22_cl_convert_uchar2_rteDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z18convert_uchar2_rteDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z22_cl_convert_uchar2_rteDv2_m(<2 x i64> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z22_cl_convert_uchar3_rteDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z18convert_uchar3_rteDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z22_cl_convert_uchar3_rteDv3_m(<3 x i64> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z22_cl_convert_uchar4_rteDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z18convert_uchar4_rteDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z22_cl_convert_uchar4_rteDv4_m(<4 x i64> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z22_cl_convert_uchar8_rteDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z18convert_uchar8_rteDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z22_cl_convert_uchar8_rteDv8_m(<8 x i64> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z23_cl_convert_uchar16_rteDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z19convert_uchar16_rteDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z23_cl_convert_uchar16_rteDv16_m(<16 x i64> %a)
  ret <16 x i8> %call
}


declare i8 @_Z21_cl_convert_uchar_rtzm(i64) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z17convert_uchar_rtzm(i64 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z21_cl_convert_uchar_rtzm(i64 %a)
  ret i8 %call
}


declare <2 x i8> @_Z22_cl_convert_uchar2_rtzDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z18convert_uchar2_rtzDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z22_cl_convert_uchar2_rtzDv2_m(<2 x i64> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z22_cl_convert_uchar3_rtzDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z18convert_uchar3_rtzDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z22_cl_convert_uchar3_rtzDv3_m(<3 x i64> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z22_cl_convert_uchar4_rtzDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z18convert_uchar4_rtzDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z22_cl_convert_uchar4_rtzDv4_m(<4 x i64> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z22_cl_convert_uchar8_rtzDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z18convert_uchar8_rtzDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z22_cl_convert_uchar8_rtzDv8_m(<8 x i64> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z23_cl_convert_uchar16_rtzDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z19convert_uchar16_rtzDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z23_cl_convert_uchar16_rtzDv16_m(<16 x i64> %a)
  ret <16 x i8> %call
}


declare i8 @_Z21_cl_convert_uchar_satm(i64) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z17convert_uchar_satm(i64 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z21_cl_convert_uchar_satm(i64 %a)
  ret i8 %call
}


declare <2 x i8> @_Z22_cl_convert_uchar2_satDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z18convert_uchar2_satDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z22_cl_convert_uchar2_satDv2_m(<2 x i64> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z22_cl_convert_uchar3_satDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z18convert_uchar3_satDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z22_cl_convert_uchar3_satDv3_m(<3 x i64> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z22_cl_convert_uchar4_satDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z18convert_uchar4_satDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z22_cl_convert_uchar4_satDv4_m(<4 x i64> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z22_cl_convert_uchar8_satDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z18convert_uchar8_satDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z22_cl_convert_uchar8_satDv8_m(<8 x i64> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z23_cl_convert_uchar16_satDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z19convert_uchar16_satDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z23_cl_convert_uchar16_satDv16_m(<16 x i64> %a)
  ret <16 x i8> %call
}


declare i8 @_Z25_cl_convert_uchar_sat_rtpm(i64) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z21convert_uchar_sat_rtpm(i64 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z25_cl_convert_uchar_sat_rtpm(i64 %a)
  ret i8 %call
}


declare <2 x i8> @_Z26_cl_convert_uchar2_sat_rtpDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z22convert_uchar2_sat_rtpDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z26_cl_convert_uchar2_sat_rtpDv2_m(<2 x i64> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z26_cl_convert_uchar3_sat_rtpDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z22convert_uchar3_sat_rtpDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z26_cl_convert_uchar3_sat_rtpDv3_m(<3 x i64> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z26_cl_convert_uchar4_sat_rtpDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z22convert_uchar4_sat_rtpDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z26_cl_convert_uchar4_sat_rtpDv4_m(<4 x i64> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z26_cl_convert_uchar8_sat_rtpDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z22convert_uchar8_sat_rtpDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z26_cl_convert_uchar8_sat_rtpDv8_m(<8 x i64> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z27_cl_convert_uchar16_sat_rtpDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z23convert_uchar16_sat_rtpDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z27_cl_convert_uchar16_sat_rtpDv16_m(<16 x i64> %a)
  ret <16 x i8> %call
}


declare i8 @_Z25_cl_convert_uchar_sat_rtnm(i64) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z21convert_uchar_sat_rtnm(i64 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z25_cl_convert_uchar_sat_rtnm(i64 %a)
  ret i8 %call
}


declare <2 x i8> @_Z26_cl_convert_uchar2_sat_rtnDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z22convert_uchar2_sat_rtnDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z26_cl_convert_uchar2_sat_rtnDv2_m(<2 x i64> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z26_cl_convert_uchar3_sat_rtnDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z22convert_uchar3_sat_rtnDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z26_cl_convert_uchar3_sat_rtnDv3_m(<3 x i64> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z26_cl_convert_uchar4_sat_rtnDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z22convert_uchar4_sat_rtnDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z26_cl_convert_uchar4_sat_rtnDv4_m(<4 x i64> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z26_cl_convert_uchar8_sat_rtnDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z22convert_uchar8_sat_rtnDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z26_cl_convert_uchar8_sat_rtnDv8_m(<8 x i64> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z27_cl_convert_uchar16_sat_rtnDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z23convert_uchar16_sat_rtnDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z27_cl_convert_uchar16_sat_rtnDv16_m(<16 x i64> %a)
  ret <16 x i8> %call
}


declare i8 @_Z25_cl_convert_uchar_sat_rtem(i64) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z21convert_uchar_sat_rtem(i64 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z25_cl_convert_uchar_sat_rtem(i64 %a)
  ret i8 %call
}


declare <2 x i8> @_Z26_cl_convert_uchar2_sat_rteDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z22convert_uchar2_sat_rteDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z26_cl_convert_uchar2_sat_rteDv2_m(<2 x i64> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z26_cl_convert_uchar3_sat_rteDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z22convert_uchar3_sat_rteDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z26_cl_convert_uchar3_sat_rteDv3_m(<3 x i64> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z26_cl_convert_uchar4_sat_rteDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z22convert_uchar4_sat_rteDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z26_cl_convert_uchar4_sat_rteDv4_m(<4 x i64> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z26_cl_convert_uchar8_sat_rteDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z22convert_uchar8_sat_rteDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z26_cl_convert_uchar8_sat_rteDv8_m(<8 x i64> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z27_cl_convert_uchar16_sat_rteDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z23convert_uchar16_sat_rteDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z27_cl_convert_uchar16_sat_rteDv16_m(<16 x i64> %a)
  ret <16 x i8> %call
}


declare i8 @_Z25_cl_convert_uchar_sat_rtzm(i64) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z21convert_uchar_sat_rtzm(i64 %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z25_cl_convert_uchar_sat_rtzm(i64 %a)
  ret i8 %call
}


declare <2 x i8> @_Z26_cl_convert_uchar2_sat_rtzDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z22convert_uchar2_sat_rtzDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z26_cl_convert_uchar2_sat_rtzDv2_m(<2 x i64> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z26_cl_convert_uchar3_sat_rtzDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z22convert_uchar3_sat_rtzDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z26_cl_convert_uchar3_sat_rtzDv3_m(<3 x i64> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z26_cl_convert_uchar4_sat_rtzDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z22convert_uchar4_sat_rtzDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z26_cl_convert_uchar4_sat_rtzDv4_m(<4 x i64> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z26_cl_convert_uchar8_sat_rtzDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z22convert_uchar8_sat_rtzDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z26_cl_convert_uchar8_sat_rtzDv8_m(<8 x i64> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z27_cl_convert_uchar16_sat_rtzDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z23convert_uchar16_sat_rtzDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z27_cl_convert_uchar16_sat_rtzDv16_m(<16 x i64> %a)
  ret <16 x i8> %call
}


declare i8 @_Z17_cl_convert_ucharf(float) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z13convert_ucharf(float %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z17_cl_convert_ucharf(float %a)
  ret i8 %call
}


declare <2 x i8> @_Z18_cl_convert_uchar2Dv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z14convert_uchar2Dv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z18_cl_convert_uchar2Dv2_f(<2 x float> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z18_cl_convert_uchar3Dv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z14convert_uchar3Dv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z18_cl_convert_uchar3Dv3_f(<3 x float> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z18_cl_convert_uchar4Dv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z14convert_uchar4Dv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z18_cl_convert_uchar4Dv4_f(<4 x float> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z18_cl_convert_uchar8Dv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z14convert_uchar8Dv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z18_cl_convert_uchar8Dv8_f(<8 x float> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z19_cl_convert_uchar16Dv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z15convert_uchar16Dv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z19_cl_convert_uchar16Dv16_f(<16 x float> %a)
  ret <16 x i8> %call
}


declare i8 @_Z21_cl_convert_uchar_rtpf(float) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z17convert_uchar_rtpf(float %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z21_cl_convert_uchar_rtpf(float %a)
  ret i8 %call
}


declare <2 x i8> @_Z22_cl_convert_uchar2_rtpDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z18convert_uchar2_rtpDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z22_cl_convert_uchar2_rtpDv2_f(<2 x float> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z22_cl_convert_uchar3_rtpDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z18convert_uchar3_rtpDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z22_cl_convert_uchar3_rtpDv3_f(<3 x float> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z22_cl_convert_uchar4_rtpDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z18convert_uchar4_rtpDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z22_cl_convert_uchar4_rtpDv4_f(<4 x float> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z22_cl_convert_uchar8_rtpDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z18convert_uchar8_rtpDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z22_cl_convert_uchar8_rtpDv8_f(<8 x float> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z23_cl_convert_uchar16_rtpDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z19convert_uchar16_rtpDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z23_cl_convert_uchar16_rtpDv16_f(<16 x float> %a)
  ret <16 x i8> %call
}


declare i8 @_Z21_cl_convert_uchar_rtnf(float) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z17convert_uchar_rtnf(float %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z21_cl_convert_uchar_rtnf(float %a)
  ret i8 %call
}


declare <2 x i8> @_Z22_cl_convert_uchar2_rtnDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z18convert_uchar2_rtnDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z22_cl_convert_uchar2_rtnDv2_f(<2 x float> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z22_cl_convert_uchar3_rtnDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z18convert_uchar3_rtnDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z22_cl_convert_uchar3_rtnDv3_f(<3 x float> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z22_cl_convert_uchar4_rtnDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z18convert_uchar4_rtnDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z22_cl_convert_uchar4_rtnDv4_f(<4 x float> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z22_cl_convert_uchar8_rtnDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z18convert_uchar8_rtnDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z22_cl_convert_uchar8_rtnDv8_f(<8 x float> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z23_cl_convert_uchar16_rtnDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z19convert_uchar16_rtnDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z23_cl_convert_uchar16_rtnDv16_f(<16 x float> %a)
  ret <16 x i8> %call
}


declare i8 @_Z21_cl_convert_uchar_rtef(float) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z17convert_uchar_rtef(float %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z21_cl_convert_uchar_rtef(float %a)
  ret i8 %call
}


declare <2 x i8> @_Z22_cl_convert_uchar2_rteDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z18convert_uchar2_rteDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z22_cl_convert_uchar2_rteDv2_f(<2 x float> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z22_cl_convert_uchar3_rteDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z18convert_uchar3_rteDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z22_cl_convert_uchar3_rteDv3_f(<3 x float> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z22_cl_convert_uchar4_rteDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z18convert_uchar4_rteDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z22_cl_convert_uchar4_rteDv4_f(<4 x float> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z22_cl_convert_uchar8_rteDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z18convert_uchar8_rteDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z22_cl_convert_uchar8_rteDv8_f(<8 x float> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z23_cl_convert_uchar16_rteDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z19convert_uchar16_rteDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z23_cl_convert_uchar16_rteDv16_f(<16 x float> %a)
  ret <16 x i8> %call
}


declare i8 @_Z21_cl_convert_uchar_rtzf(float) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z17convert_uchar_rtzf(float %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z21_cl_convert_uchar_rtzf(float %a)
  ret i8 %call
}


declare <2 x i8> @_Z22_cl_convert_uchar2_rtzDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z18convert_uchar2_rtzDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z22_cl_convert_uchar2_rtzDv2_f(<2 x float> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z22_cl_convert_uchar3_rtzDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z18convert_uchar3_rtzDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z22_cl_convert_uchar3_rtzDv3_f(<3 x float> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z22_cl_convert_uchar4_rtzDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z18convert_uchar4_rtzDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z22_cl_convert_uchar4_rtzDv4_f(<4 x float> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z22_cl_convert_uchar8_rtzDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z18convert_uchar8_rtzDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z22_cl_convert_uchar8_rtzDv8_f(<8 x float> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z23_cl_convert_uchar16_rtzDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z19convert_uchar16_rtzDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z23_cl_convert_uchar16_rtzDv16_f(<16 x float> %a)
  ret <16 x i8> %call
}


declare i8 @_Z21_cl_convert_uchar_satf(float) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z17convert_uchar_satf(float %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z21_cl_convert_uchar_satf(float %a)
  ret i8 %call
}


declare <2 x i8> @_Z22_cl_convert_uchar2_satDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z18convert_uchar2_satDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z22_cl_convert_uchar2_satDv2_f(<2 x float> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z22_cl_convert_uchar3_satDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z18convert_uchar3_satDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z22_cl_convert_uchar3_satDv3_f(<3 x float> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z22_cl_convert_uchar4_satDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z18convert_uchar4_satDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z22_cl_convert_uchar4_satDv4_f(<4 x float> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z22_cl_convert_uchar8_satDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z18convert_uchar8_satDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z22_cl_convert_uchar8_satDv8_f(<8 x float> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z23_cl_convert_uchar16_satDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z19convert_uchar16_satDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z23_cl_convert_uchar16_satDv16_f(<16 x float> %a)
  ret <16 x i8> %call
}


declare i8 @_Z25_cl_convert_uchar_sat_rtpf(float) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z21convert_uchar_sat_rtpf(float %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z25_cl_convert_uchar_sat_rtpf(float %a)
  ret i8 %call
}


declare <2 x i8> @_Z26_cl_convert_uchar2_sat_rtpDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z22convert_uchar2_sat_rtpDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z26_cl_convert_uchar2_sat_rtpDv2_f(<2 x float> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z26_cl_convert_uchar3_sat_rtpDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z22convert_uchar3_sat_rtpDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z26_cl_convert_uchar3_sat_rtpDv3_f(<3 x float> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z26_cl_convert_uchar4_sat_rtpDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z22convert_uchar4_sat_rtpDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z26_cl_convert_uchar4_sat_rtpDv4_f(<4 x float> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z26_cl_convert_uchar8_sat_rtpDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z22convert_uchar8_sat_rtpDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z26_cl_convert_uchar8_sat_rtpDv8_f(<8 x float> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z27_cl_convert_uchar16_sat_rtpDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z23convert_uchar16_sat_rtpDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z27_cl_convert_uchar16_sat_rtpDv16_f(<16 x float> %a)
  ret <16 x i8> %call
}


declare i8 @_Z25_cl_convert_uchar_sat_rtnf(float) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z21convert_uchar_sat_rtnf(float %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z25_cl_convert_uchar_sat_rtnf(float %a)
  ret i8 %call
}


declare <2 x i8> @_Z26_cl_convert_uchar2_sat_rtnDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z22convert_uchar2_sat_rtnDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z26_cl_convert_uchar2_sat_rtnDv2_f(<2 x float> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z26_cl_convert_uchar3_sat_rtnDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z22convert_uchar3_sat_rtnDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z26_cl_convert_uchar3_sat_rtnDv3_f(<3 x float> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z26_cl_convert_uchar4_sat_rtnDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z22convert_uchar4_sat_rtnDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z26_cl_convert_uchar4_sat_rtnDv4_f(<4 x float> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z26_cl_convert_uchar8_sat_rtnDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z22convert_uchar8_sat_rtnDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z26_cl_convert_uchar8_sat_rtnDv8_f(<8 x float> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z27_cl_convert_uchar16_sat_rtnDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z23convert_uchar16_sat_rtnDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z27_cl_convert_uchar16_sat_rtnDv16_f(<16 x float> %a)
  ret <16 x i8> %call
}


declare i8 @_Z25_cl_convert_uchar_sat_rtef(float) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z21convert_uchar_sat_rtef(float %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z25_cl_convert_uchar_sat_rtef(float %a)
  ret i8 %call
}


declare <2 x i8> @_Z26_cl_convert_uchar2_sat_rteDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z22convert_uchar2_sat_rteDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z26_cl_convert_uchar2_sat_rteDv2_f(<2 x float> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z26_cl_convert_uchar3_sat_rteDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z22convert_uchar3_sat_rteDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z26_cl_convert_uchar3_sat_rteDv3_f(<3 x float> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z26_cl_convert_uchar4_sat_rteDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z22convert_uchar4_sat_rteDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z26_cl_convert_uchar4_sat_rteDv4_f(<4 x float> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z26_cl_convert_uchar8_sat_rteDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z22convert_uchar8_sat_rteDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z26_cl_convert_uchar8_sat_rteDv8_f(<8 x float> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z27_cl_convert_uchar16_sat_rteDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z23convert_uchar16_sat_rteDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z27_cl_convert_uchar16_sat_rteDv16_f(<16 x float> %a)
  ret <16 x i8> %call
}


declare i8 @_Z25_cl_convert_uchar_sat_rtzf(float) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z21convert_uchar_sat_rtzf(float %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z25_cl_convert_uchar_sat_rtzf(float %a)
  ret i8 %call
}


declare <2 x i8> @_Z26_cl_convert_uchar2_sat_rtzDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z22convert_uchar2_sat_rtzDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z26_cl_convert_uchar2_sat_rtzDv2_f(<2 x float> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z26_cl_convert_uchar3_sat_rtzDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z22convert_uchar3_sat_rtzDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z26_cl_convert_uchar3_sat_rtzDv3_f(<3 x float> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z26_cl_convert_uchar4_sat_rtzDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z22convert_uchar4_sat_rtzDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z26_cl_convert_uchar4_sat_rtzDv4_f(<4 x float> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z26_cl_convert_uchar8_sat_rtzDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z22convert_uchar8_sat_rtzDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z26_cl_convert_uchar8_sat_rtzDv8_f(<8 x float> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z27_cl_convert_uchar16_sat_rtzDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z23convert_uchar16_sat_rtzDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z27_cl_convert_uchar16_sat_rtzDv16_f(<16 x float> %a)
  ret <16 x i8> %call
}


declare i8 @_Z17_cl_convert_uchard(double) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z13convert_uchard(double %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z17_cl_convert_uchard(double %a)
  ret i8 %call
}


declare <2 x i8> @_Z18_cl_convert_uchar2Dv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z14convert_uchar2Dv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z18_cl_convert_uchar2Dv2_d(<2 x double> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z18_cl_convert_uchar3Dv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z14convert_uchar3Dv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z18_cl_convert_uchar3Dv3_d(<3 x double> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z18_cl_convert_uchar4Dv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z14convert_uchar4Dv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z18_cl_convert_uchar4Dv4_d(<4 x double> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z18_cl_convert_uchar8Dv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z14convert_uchar8Dv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z18_cl_convert_uchar8Dv8_d(<8 x double> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z19_cl_convert_uchar16Dv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z15convert_uchar16Dv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z19_cl_convert_uchar16Dv16_d(<16 x double> %a)
  ret <16 x i8> %call
}


declare i8 @_Z21_cl_convert_uchar_rtpd(double) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z17convert_uchar_rtpd(double %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z21_cl_convert_uchar_rtpd(double %a)
  ret i8 %call
}


declare <2 x i8> @_Z22_cl_convert_uchar2_rtpDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z18convert_uchar2_rtpDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z22_cl_convert_uchar2_rtpDv2_d(<2 x double> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z22_cl_convert_uchar3_rtpDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z18convert_uchar3_rtpDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z22_cl_convert_uchar3_rtpDv3_d(<3 x double> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z22_cl_convert_uchar4_rtpDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z18convert_uchar4_rtpDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z22_cl_convert_uchar4_rtpDv4_d(<4 x double> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z22_cl_convert_uchar8_rtpDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z18convert_uchar8_rtpDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z22_cl_convert_uchar8_rtpDv8_d(<8 x double> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z23_cl_convert_uchar16_rtpDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z19convert_uchar16_rtpDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z23_cl_convert_uchar16_rtpDv16_d(<16 x double> %a)
  ret <16 x i8> %call
}


declare i8 @_Z21_cl_convert_uchar_rtnd(double) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z17convert_uchar_rtnd(double %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z21_cl_convert_uchar_rtnd(double %a)
  ret i8 %call
}


declare <2 x i8> @_Z22_cl_convert_uchar2_rtnDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z18convert_uchar2_rtnDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z22_cl_convert_uchar2_rtnDv2_d(<2 x double> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z22_cl_convert_uchar3_rtnDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z18convert_uchar3_rtnDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z22_cl_convert_uchar3_rtnDv3_d(<3 x double> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z22_cl_convert_uchar4_rtnDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z18convert_uchar4_rtnDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z22_cl_convert_uchar4_rtnDv4_d(<4 x double> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z22_cl_convert_uchar8_rtnDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z18convert_uchar8_rtnDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z22_cl_convert_uchar8_rtnDv8_d(<8 x double> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z23_cl_convert_uchar16_rtnDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z19convert_uchar16_rtnDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z23_cl_convert_uchar16_rtnDv16_d(<16 x double> %a)
  ret <16 x i8> %call
}


declare i8 @_Z21_cl_convert_uchar_rted(double) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z17convert_uchar_rted(double %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z21_cl_convert_uchar_rted(double %a)
  ret i8 %call
}


declare <2 x i8> @_Z22_cl_convert_uchar2_rteDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z18convert_uchar2_rteDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z22_cl_convert_uchar2_rteDv2_d(<2 x double> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z22_cl_convert_uchar3_rteDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z18convert_uchar3_rteDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z22_cl_convert_uchar3_rteDv3_d(<3 x double> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z22_cl_convert_uchar4_rteDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z18convert_uchar4_rteDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z22_cl_convert_uchar4_rteDv4_d(<4 x double> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z22_cl_convert_uchar8_rteDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z18convert_uchar8_rteDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z22_cl_convert_uchar8_rteDv8_d(<8 x double> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z23_cl_convert_uchar16_rteDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z19convert_uchar16_rteDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z23_cl_convert_uchar16_rteDv16_d(<16 x double> %a)
  ret <16 x i8> %call
}


declare i8 @_Z21_cl_convert_uchar_rtzd(double) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z17convert_uchar_rtzd(double %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z21_cl_convert_uchar_rtzd(double %a)
  ret i8 %call
}


declare <2 x i8> @_Z22_cl_convert_uchar2_rtzDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z18convert_uchar2_rtzDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z22_cl_convert_uchar2_rtzDv2_d(<2 x double> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z22_cl_convert_uchar3_rtzDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z18convert_uchar3_rtzDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z22_cl_convert_uchar3_rtzDv3_d(<3 x double> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z22_cl_convert_uchar4_rtzDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z18convert_uchar4_rtzDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z22_cl_convert_uchar4_rtzDv4_d(<4 x double> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z22_cl_convert_uchar8_rtzDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z18convert_uchar8_rtzDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z22_cl_convert_uchar8_rtzDv8_d(<8 x double> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z23_cl_convert_uchar16_rtzDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z19convert_uchar16_rtzDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z23_cl_convert_uchar16_rtzDv16_d(<16 x double> %a)
  ret <16 x i8> %call
}


declare i8 @_Z21_cl_convert_uchar_satd(double) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z17convert_uchar_satd(double %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z21_cl_convert_uchar_satd(double %a)
  ret i8 %call
}


declare <2 x i8> @_Z22_cl_convert_uchar2_satDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z18convert_uchar2_satDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z22_cl_convert_uchar2_satDv2_d(<2 x double> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z22_cl_convert_uchar3_satDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z18convert_uchar3_satDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z22_cl_convert_uchar3_satDv3_d(<3 x double> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z22_cl_convert_uchar4_satDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z18convert_uchar4_satDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z22_cl_convert_uchar4_satDv4_d(<4 x double> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z22_cl_convert_uchar8_satDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z18convert_uchar8_satDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z22_cl_convert_uchar8_satDv8_d(<8 x double> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z23_cl_convert_uchar16_satDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z19convert_uchar16_satDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z23_cl_convert_uchar16_satDv16_d(<16 x double> %a)
  ret <16 x i8> %call
}


declare i8 @_Z25_cl_convert_uchar_sat_rtpd(double) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z21convert_uchar_sat_rtpd(double %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z25_cl_convert_uchar_sat_rtpd(double %a)
  ret i8 %call
}


declare <2 x i8> @_Z26_cl_convert_uchar2_sat_rtpDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z22convert_uchar2_sat_rtpDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z26_cl_convert_uchar2_sat_rtpDv2_d(<2 x double> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z26_cl_convert_uchar3_sat_rtpDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z22convert_uchar3_sat_rtpDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z26_cl_convert_uchar3_sat_rtpDv3_d(<3 x double> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z26_cl_convert_uchar4_sat_rtpDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z22convert_uchar4_sat_rtpDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z26_cl_convert_uchar4_sat_rtpDv4_d(<4 x double> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z26_cl_convert_uchar8_sat_rtpDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z22convert_uchar8_sat_rtpDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z26_cl_convert_uchar8_sat_rtpDv8_d(<8 x double> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z27_cl_convert_uchar16_sat_rtpDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z23convert_uchar16_sat_rtpDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z27_cl_convert_uchar16_sat_rtpDv16_d(<16 x double> %a)
  ret <16 x i8> %call
}


declare i8 @_Z25_cl_convert_uchar_sat_rtnd(double) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z21convert_uchar_sat_rtnd(double %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z25_cl_convert_uchar_sat_rtnd(double %a)
  ret i8 %call
}


declare <2 x i8> @_Z26_cl_convert_uchar2_sat_rtnDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z22convert_uchar2_sat_rtnDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z26_cl_convert_uchar2_sat_rtnDv2_d(<2 x double> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z26_cl_convert_uchar3_sat_rtnDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z22convert_uchar3_sat_rtnDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z26_cl_convert_uchar3_sat_rtnDv3_d(<3 x double> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z26_cl_convert_uchar4_sat_rtnDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z22convert_uchar4_sat_rtnDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z26_cl_convert_uchar4_sat_rtnDv4_d(<4 x double> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z26_cl_convert_uchar8_sat_rtnDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z22convert_uchar8_sat_rtnDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z26_cl_convert_uchar8_sat_rtnDv8_d(<8 x double> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z27_cl_convert_uchar16_sat_rtnDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z23convert_uchar16_sat_rtnDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z27_cl_convert_uchar16_sat_rtnDv16_d(<16 x double> %a)
  ret <16 x i8> %call
}


declare i8 @_Z25_cl_convert_uchar_sat_rted(double) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z21convert_uchar_sat_rted(double %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z25_cl_convert_uchar_sat_rted(double %a)
  ret i8 %call
}


declare <2 x i8> @_Z26_cl_convert_uchar2_sat_rteDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z22convert_uchar2_sat_rteDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z26_cl_convert_uchar2_sat_rteDv2_d(<2 x double> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z26_cl_convert_uchar3_sat_rteDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z22convert_uchar3_sat_rteDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z26_cl_convert_uchar3_sat_rteDv3_d(<3 x double> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z26_cl_convert_uchar4_sat_rteDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z22convert_uchar4_sat_rteDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z26_cl_convert_uchar4_sat_rteDv4_d(<4 x double> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z26_cl_convert_uchar8_sat_rteDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z22convert_uchar8_sat_rteDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z26_cl_convert_uchar8_sat_rteDv8_d(<8 x double> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z27_cl_convert_uchar16_sat_rteDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z23convert_uchar16_sat_rteDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z27_cl_convert_uchar16_sat_rteDv16_d(<16 x double> %a)
  ret <16 x i8> %call
}


declare i8 @_Z25_cl_convert_uchar_sat_rtzd(double) local_unnamed_addr #0

define spir_func  zeroext i8 @_Z21convert_uchar_sat_rtzd(double %a) local_unnamed_addr #0 {
  %call = tail call i8 @_Z25_cl_convert_uchar_sat_rtzd(double %a)
  ret i8 %call
}


declare <2 x i8> @_Z26_cl_convert_uchar2_sat_rtzDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x i8> @_Z22convert_uchar2_sat_rtzDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i8> @_Z26_cl_convert_uchar2_sat_rtzDv2_d(<2 x double> %a)
  ret <2 x i8> %call
}


declare <3 x i8> @_Z26_cl_convert_uchar3_sat_rtzDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x i8> @_Z22convert_uchar3_sat_rtzDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i8> @_Z26_cl_convert_uchar3_sat_rtzDv3_d(<3 x double> %a)
  ret <3 x i8> %call
}


declare <4 x i8> @_Z26_cl_convert_uchar4_sat_rtzDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x i8> @_Z22convert_uchar4_sat_rtzDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i8> @_Z26_cl_convert_uchar4_sat_rtzDv4_d(<4 x double> %a)
  ret <4 x i8> %call
}


declare <8 x i8> @_Z26_cl_convert_uchar8_sat_rtzDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x i8> @_Z22convert_uchar8_sat_rtzDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i8> @_Z26_cl_convert_uchar8_sat_rtzDv8_d(<8 x double> %a)
  ret <8 x i8> %call
}


declare <16 x i8> @_Z27_cl_convert_uchar16_sat_rtzDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x i8> @_Z23convert_uchar16_sat_rtzDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i8> @_Z27_cl_convert_uchar16_sat_rtzDv16_d(<16 x double> %a)
  ret <16 x i8> %call
}


declare i16 @_Z17_cl_convert_shortc(i8) local_unnamed_addr #0

define spir_func  signext i16 @_Z13convert_shortc(i8 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z17_cl_convert_shortc(i8 %a)
  ret i16 %call
}


declare <2 x i16> @_Z18_cl_convert_short2Dv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z14convert_short2Dv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z18_cl_convert_short2Dv2_c(<2 x i8> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z18_cl_convert_short3Dv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z14convert_short3Dv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z18_cl_convert_short3Dv3_c(<3 x i8> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z18_cl_convert_short4Dv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z14convert_short4Dv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z18_cl_convert_short4Dv4_c(<4 x i8> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z18_cl_convert_short8Dv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z14convert_short8Dv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z18_cl_convert_short8Dv8_c(<8 x i8> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z19_cl_convert_short16Dv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z15convert_short16Dv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z19_cl_convert_short16Dv16_c(<16 x i8> %a)
  ret <16 x i16> %call
}


declare i16 @_Z21_cl_convert_short_rtpc(i8) local_unnamed_addr #0

define spir_func  signext i16 @_Z17convert_short_rtpc(i8 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z21_cl_convert_short_rtpc(i8 %a)
  ret i16 %call
}


declare <2 x i16> @_Z22_cl_convert_short2_rtpDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z18convert_short2_rtpDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z22_cl_convert_short2_rtpDv2_c(<2 x i8> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z22_cl_convert_short3_rtpDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z18convert_short3_rtpDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z22_cl_convert_short3_rtpDv3_c(<3 x i8> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z22_cl_convert_short4_rtpDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z18convert_short4_rtpDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z22_cl_convert_short4_rtpDv4_c(<4 x i8> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z22_cl_convert_short8_rtpDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z18convert_short8_rtpDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z22_cl_convert_short8_rtpDv8_c(<8 x i8> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z23_cl_convert_short16_rtpDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z19convert_short16_rtpDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z23_cl_convert_short16_rtpDv16_c(<16 x i8> %a)
  ret <16 x i16> %call
}


declare i16 @_Z21_cl_convert_short_rtnc(i8) local_unnamed_addr #0

define spir_func  signext i16 @_Z17convert_short_rtnc(i8 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z21_cl_convert_short_rtnc(i8 %a)
  ret i16 %call
}


declare <2 x i16> @_Z22_cl_convert_short2_rtnDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z18convert_short2_rtnDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z22_cl_convert_short2_rtnDv2_c(<2 x i8> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z22_cl_convert_short3_rtnDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z18convert_short3_rtnDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z22_cl_convert_short3_rtnDv3_c(<3 x i8> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z22_cl_convert_short4_rtnDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z18convert_short4_rtnDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z22_cl_convert_short4_rtnDv4_c(<4 x i8> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z22_cl_convert_short8_rtnDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z18convert_short8_rtnDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z22_cl_convert_short8_rtnDv8_c(<8 x i8> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z23_cl_convert_short16_rtnDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z19convert_short16_rtnDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z23_cl_convert_short16_rtnDv16_c(<16 x i8> %a)
  ret <16 x i16> %call
}


declare i16 @_Z21_cl_convert_short_rtec(i8) local_unnamed_addr #0

define spir_func  signext i16 @_Z17convert_short_rtec(i8 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z21_cl_convert_short_rtec(i8 %a)
  ret i16 %call
}


declare <2 x i16> @_Z22_cl_convert_short2_rteDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z18convert_short2_rteDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z22_cl_convert_short2_rteDv2_c(<2 x i8> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z22_cl_convert_short3_rteDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z18convert_short3_rteDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z22_cl_convert_short3_rteDv3_c(<3 x i8> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z22_cl_convert_short4_rteDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z18convert_short4_rteDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z22_cl_convert_short4_rteDv4_c(<4 x i8> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z22_cl_convert_short8_rteDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z18convert_short8_rteDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z22_cl_convert_short8_rteDv8_c(<8 x i8> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z23_cl_convert_short16_rteDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z19convert_short16_rteDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z23_cl_convert_short16_rteDv16_c(<16 x i8> %a)
  ret <16 x i16> %call
}


declare i16 @_Z21_cl_convert_short_rtzc(i8) local_unnamed_addr #0

define spir_func  signext i16 @_Z17convert_short_rtzc(i8 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z21_cl_convert_short_rtzc(i8 %a)
  ret i16 %call
}


declare <2 x i16> @_Z22_cl_convert_short2_rtzDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z18convert_short2_rtzDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z22_cl_convert_short2_rtzDv2_c(<2 x i8> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z22_cl_convert_short3_rtzDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z18convert_short3_rtzDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z22_cl_convert_short3_rtzDv3_c(<3 x i8> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z22_cl_convert_short4_rtzDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z18convert_short4_rtzDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z22_cl_convert_short4_rtzDv4_c(<4 x i8> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z22_cl_convert_short8_rtzDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z18convert_short8_rtzDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z22_cl_convert_short8_rtzDv8_c(<8 x i8> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z23_cl_convert_short16_rtzDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z19convert_short16_rtzDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z23_cl_convert_short16_rtzDv16_c(<16 x i8> %a)
  ret <16 x i16> %call
}


declare i16 @_Z21_cl_convert_short_satc(i8) local_unnamed_addr #0

define spir_func  signext i16 @_Z17convert_short_satc(i8 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z21_cl_convert_short_satc(i8 %a)
  ret i16 %call
}


declare <2 x i16> @_Z22_cl_convert_short2_satDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z18convert_short2_satDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z22_cl_convert_short2_satDv2_c(<2 x i8> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z22_cl_convert_short3_satDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z18convert_short3_satDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z22_cl_convert_short3_satDv3_c(<3 x i8> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z22_cl_convert_short4_satDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z18convert_short4_satDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z22_cl_convert_short4_satDv4_c(<4 x i8> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z22_cl_convert_short8_satDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z18convert_short8_satDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z22_cl_convert_short8_satDv8_c(<8 x i8> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z23_cl_convert_short16_satDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z19convert_short16_satDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z23_cl_convert_short16_satDv16_c(<16 x i8> %a)
  ret <16 x i16> %call
}


declare i16 @_Z25_cl_convert_short_sat_rtpc(i8) local_unnamed_addr #0

define spir_func  signext i16 @_Z21convert_short_sat_rtpc(i8 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z25_cl_convert_short_sat_rtpc(i8 %a)
  ret i16 %call
}


declare <2 x i16> @_Z26_cl_convert_short2_sat_rtpDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z22convert_short2_sat_rtpDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z26_cl_convert_short2_sat_rtpDv2_c(<2 x i8> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z26_cl_convert_short3_sat_rtpDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z22convert_short3_sat_rtpDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z26_cl_convert_short3_sat_rtpDv3_c(<3 x i8> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z26_cl_convert_short4_sat_rtpDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z22convert_short4_sat_rtpDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z26_cl_convert_short4_sat_rtpDv4_c(<4 x i8> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z26_cl_convert_short8_sat_rtpDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z22convert_short8_sat_rtpDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z26_cl_convert_short8_sat_rtpDv8_c(<8 x i8> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z27_cl_convert_short16_sat_rtpDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z23convert_short16_sat_rtpDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z27_cl_convert_short16_sat_rtpDv16_c(<16 x i8> %a)
  ret <16 x i16> %call
}


declare i16 @_Z25_cl_convert_short_sat_rtnc(i8) local_unnamed_addr #0

define spir_func  signext i16 @_Z21convert_short_sat_rtnc(i8 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z25_cl_convert_short_sat_rtnc(i8 %a)
  ret i16 %call
}


declare <2 x i16> @_Z26_cl_convert_short2_sat_rtnDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z22convert_short2_sat_rtnDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z26_cl_convert_short2_sat_rtnDv2_c(<2 x i8> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z26_cl_convert_short3_sat_rtnDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z22convert_short3_sat_rtnDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z26_cl_convert_short3_sat_rtnDv3_c(<3 x i8> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z26_cl_convert_short4_sat_rtnDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z22convert_short4_sat_rtnDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z26_cl_convert_short4_sat_rtnDv4_c(<4 x i8> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z26_cl_convert_short8_sat_rtnDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z22convert_short8_sat_rtnDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z26_cl_convert_short8_sat_rtnDv8_c(<8 x i8> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z27_cl_convert_short16_sat_rtnDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z23convert_short16_sat_rtnDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z27_cl_convert_short16_sat_rtnDv16_c(<16 x i8> %a)
  ret <16 x i16> %call
}


declare i16 @_Z25_cl_convert_short_sat_rtec(i8) local_unnamed_addr #0

define spir_func  signext i16 @_Z21convert_short_sat_rtec(i8 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z25_cl_convert_short_sat_rtec(i8 %a)
  ret i16 %call
}


declare <2 x i16> @_Z26_cl_convert_short2_sat_rteDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z22convert_short2_sat_rteDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z26_cl_convert_short2_sat_rteDv2_c(<2 x i8> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z26_cl_convert_short3_sat_rteDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z22convert_short3_sat_rteDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z26_cl_convert_short3_sat_rteDv3_c(<3 x i8> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z26_cl_convert_short4_sat_rteDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z22convert_short4_sat_rteDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z26_cl_convert_short4_sat_rteDv4_c(<4 x i8> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z26_cl_convert_short8_sat_rteDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z22convert_short8_sat_rteDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z26_cl_convert_short8_sat_rteDv8_c(<8 x i8> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z27_cl_convert_short16_sat_rteDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z23convert_short16_sat_rteDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z27_cl_convert_short16_sat_rteDv16_c(<16 x i8> %a)
  ret <16 x i16> %call
}


declare i16 @_Z25_cl_convert_short_sat_rtzc(i8) local_unnamed_addr #0

define spir_func  signext i16 @_Z21convert_short_sat_rtzc(i8 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z25_cl_convert_short_sat_rtzc(i8 %a)
  ret i16 %call
}


declare <2 x i16> @_Z26_cl_convert_short2_sat_rtzDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z22convert_short2_sat_rtzDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z26_cl_convert_short2_sat_rtzDv2_c(<2 x i8> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z26_cl_convert_short3_sat_rtzDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z22convert_short3_sat_rtzDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z26_cl_convert_short3_sat_rtzDv3_c(<3 x i8> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z26_cl_convert_short4_sat_rtzDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z22convert_short4_sat_rtzDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z26_cl_convert_short4_sat_rtzDv4_c(<4 x i8> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z26_cl_convert_short8_sat_rtzDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z22convert_short8_sat_rtzDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z26_cl_convert_short8_sat_rtzDv8_c(<8 x i8> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z27_cl_convert_short16_sat_rtzDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z23convert_short16_sat_rtzDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z27_cl_convert_short16_sat_rtzDv16_c(<16 x i8> %a)
  ret <16 x i16> %call
}


declare i16 @_Z17_cl_convert_shorth(i8) local_unnamed_addr #0

define spir_func  signext i16 @_Z13convert_shorth(i8 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z17_cl_convert_shorth(i8 %a)
  ret i16 %call
}


declare <2 x i16> @_Z18_cl_convert_short2Dv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z14convert_short2Dv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z18_cl_convert_short2Dv2_h(<2 x i8> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z18_cl_convert_short3Dv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z14convert_short3Dv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z18_cl_convert_short3Dv3_h(<3 x i8> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z18_cl_convert_short4Dv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z14convert_short4Dv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z18_cl_convert_short4Dv4_h(<4 x i8> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z18_cl_convert_short8Dv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z14convert_short8Dv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z18_cl_convert_short8Dv8_h(<8 x i8> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z19_cl_convert_short16Dv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z15convert_short16Dv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z19_cl_convert_short16Dv16_h(<16 x i8> %a)
  ret <16 x i16> %call
}


declare i16 @_Z21_cl_convert_short_rtph(i8) local_unnamed_addr #0

define spir_func  signext i16 @_Z17convert_short_rtph(i8 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z21_cl_convert_short_rtph(i8 %a)
  ret i16 %call
}


declare <2 x i16> @_Z22_cl_convert_short2_rtpDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z18convert_short2_rtpDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z22_cl_convert_short2_rtpDv2_h(<2 x i8> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z22_cl_convert_short3_rtpDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z18convert_short3_rtpDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z22_cl_convert_short3_rtpDv3_h(<3 x i8> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z22_cl_convert_short4_rtpDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z18convert_short4_rtpDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z22_cl_convert_short4_rtpDv4_h(<4 x i8> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z22_cl_convert_short8_rtpDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z18convert_short8_rtpDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z22_cl_convert_short8_rtpDv8_h(<8 x i8> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z23_cl_convert_short16_rtpDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z19convert_short16_rtpDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z23_cl_convert_short16_rtpDv16_h(<16 x i8> %a)
  ret <16 x i16> %call
}


declare i16 @_Z21_cl_convert_short_rtnh(i8) local_unnamed_addr #0

define spir_func  signext i16 @_Z17convert_short_rtnh(i8 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z21_cl_convert_short_rtnh(i8 %a)
  ret i16 %call
}


declare <2 x i16> @_Z22_cl_convert_short2_rtnDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z18convert_short2_rtnDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z22_cl_convert_short2_rtnDv2_h(<2 x i8> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z22_cl_convert_short3_rtnDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z18convert_short3_rtnDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z22_cl_convert_short3_rtnDv3_h(<3 x i8> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z22_cl_convert_short4_rtnDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z18convert_short4_rtnDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z22_cl_convert_short4_rtnDv4_h(<4 x i8> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z22_cl_convert_short8_rtnDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z18convert_short8_rtnDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z22_cl_convert_short8_rtnDv8_h(<8 x i8> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z23_cl_convert_short16_rtnDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z19convert_short16_rtnDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z23_cl_convert_short16_rtnDv16_h(<16 x i8> %a)
  ret <16 x i16> %call
}


declare i16 @_Z21_cl_convert_short_rteh(i8) local_unnamed_addr #0

define spir_func  signext i16 @_Z17convert_short_rteh(i8 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z21_cl_convert_short_rteh(i8 %a)
  ret i16 %call
}


declare <2 x i16> @_Z22_cl_convert_short2_rteDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z18convert_short2_rteDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z22_cl_convert_short2_rteDv2_h(<2 x i8> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z22_cl_convert_short3_rteDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z18convert_short3_rteDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z22_cl_convert_short3_rteDv3_h(<3 x i8> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z22_cl_convert_short4_rteDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z18convert_short4_rteDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z22_cl_convert_short4_rteDv4_h(<4 x i8> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z22_cl_convert_short8_rteDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z18convert_short8_rteDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z22_cl_convert_short8_rteDv8_h(<8 x i8> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z23_cl_convert_short16_rteDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z19convert_short16_rteDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z23_cl_convert_short16_rteDv16_h(<16 x i8> %a)
  ret <16 x i16> %call
}


declare i16 @_Z21_cl_convert_short_rtzh(i8) local_unnamed_addr #0

define spir_func  signext i16 @_Z17convert_short_rtzh(i8 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z21_cl_convert_short_rtzh(i8 %a)
  ret i16 %call
}


declare <2 x i16> @_Z22_cl_convert_short2_rtzDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z18convert_short2_rtzDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z22_cl_convert_short2_rtzDv2_h(<2 x i8> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z22_cl_convert_short3_rtzDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z18convert_short3_rtzDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z22_cl_convert_short3_rtzDv3_h(<3 x i8> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z22_cl_convert_short4_rtzDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z18convert_short4_rtzDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z22_cl_convert_short4_rtzDv4_h(<4 x i8> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z22_cl_convert_short8_rtzDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z18convert_short8_rtzDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z22_cl_convert_short8_rtzDv8_h(<8 x i8> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z23_cl_convert_short16_rtzDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z19convert_short16_rtzDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z23_cl_convert_short16_rtzDv16_h(<16 x i8> %a)
  ret <16 x i16> %call
}


declare i16 @_Z21_cl_convert_short_sath(i8) local_unnamed_addr #0

define spir_func  signext i16 @_Z17convert_short_sath(i8 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z21_cl_convert_short_sath(i8 %a)
  ret i16 %call
}


declare <2 x i16> @_Z22_cl_convert_short2_satDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z18convert_short2_satDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z22_cl_convert_short2_satDv2_h(<2 x i8> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z22_cl_convert_short3_satDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z18convert_short3_satDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z22_cl_convert_short3_satDv3_h(<3 x i8> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z22_cl_convert_short4_satDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z18convert_short4_satDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z22_cl_convert_short4_satDv4_h(<4 x i8> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z22_cl_convert_short8_satDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z18convert_short8_satDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z22_cl_convert_short8_satDv8_h(<8 x i8> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z23_cl_convert_short16_satDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z19convert_short16_satDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z23_cl_convert_short16_satDv16_h(<16 x i8> %a)
  ret <16 x i16> %call
}


declare i16 @_Z25_cl_convert_short_sat_rtph(i8) local_unnamed_addr #0

define spir_func  signext i16 @_Z21convert_short_sat_rtph(i8 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z25_cl_convert_short_sat_rtph(i8 %a)
  ret i16 %call
}


declare <2 x i16> @_Z26_cl_convert_short2_sat_rtpDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z22convert_short2_sat_rtpDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z26_cl_convert_short2_sat_rtpDv2_h(<2 x i8> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z26_cl_convert_short3_sat_rtpDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z22convert_short3_sat_rtpDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z26_cl_convert_short3_sat_rtpDv3_h(<3 x i8> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z26_cl_convert_short4_sat_rtpDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z22convert_short4_sat_rtpDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z26_cl_convert_short4_sat_rtpDv4_h(<4 x i8> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z26_cl_convert_short8_sat_rtpDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z22convert_short8_sat_rtpDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z26_cl_convert_short8_sat_rtpDv8_h(<8 x i8> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z27_cl_convert_short16_sat_rtpDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z23convert_short16_sat_rtpDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z27_cl_convert_short16_sat_rtpDv16_h(<16 x i8> %a)
  ret <16 x i16> %call
}


declare i16 @_Z25_cl_convert_short_sat_rtnh(i8) local_unnamed_addr #0

define spir_func  signext i16 @_Z21convert_short_sat_rtnh(i8 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z25_cl_convert_short_sat_rtnh(i8 %a)
  ret i16 %call
}


declare <2 x i16> @_Z26_cl_convert_short2_sat_rtnDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z22convert_short2_sat_rtnDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z26_cl_convert_short2_sat_rtnDv2_h(<2 x i8> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z26_cl_convert_short3_sat_rtnDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z22convert_short3_sat_rtnDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z26_cl_convert_short3_sat_rtnDv3_h(<3 x i8> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z26_cl_convert_short4_sat_rtnDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z22convert_short4_sat_rtnDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z26_cl_convert_short4_sat_rtnDv4_h(<4 x i8> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z26_cl_convert_short8_sat_rtnDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z22convert_short8_sat_rtnDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z26_cl_convert_short8_sat_rtnDv8_h(<8 x i8> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z27_cl_convert_short16_sat_rtnDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z23convert_short16_sat_rtnDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z27_cl_convert_short16_sat_rtnDv16_h(<16 x i8> %a)
  ret <16 x i16> %call
}


declare i16 @_Z25_cl_convert_short_sat_rteh(i8) local_unnamed_addr #0

define spir_func  signext i16 @_Z21convert_short_sat_rteh(i8 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z25_cl_convert_short_sat_rteh(i8 %a)
  ret i16 %call
}


declare <2 x i16> @_Z26_cl_convert_short2_sat_rteDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z22convert_short2_sat_rteDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z26_cl_convert_short2_sat_rteDv2_h(<2 x i8> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z26_cl_convert_short3_sat_rteDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z22convert_short3_sat_rteDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z26_cl_convert_short3_sat_rteDv3_h(<3 x i8> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z26_cl_convert_short4_sat_rteDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z22convert_short4_sat_rteDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z26_cl_convert_short4_sat_rteDv4_h(<4 x i8> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z26_cl_convert_short8_sat_rteDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z22convert_short8_sat_rteDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z26_cl_convert_short8_sat_rteDv8_h(<8 x i8> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z27_cl_convert_short16_sat_rteDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z23convert_short16_sat_rteDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z27_cl_convert_short16_sat_rteDv16_h(<16 x i8> %a)
  ret <16 x i16> %call
}


declare i16 @_Z25_cl_convert_short_sat_rtzh(i8) local_unnamed_addr #0

define spir_func  signext i16 @_Z21convert_short_sat_rtzh(i8 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z25_cl_convert_short_sat_rtzh(i8 %a)
  ret i16 %call
}


declare <2 x i16> @_Z26_cl_convert_short2_sat_rtzDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z22convert_short2_sat_rtzDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z26_cl_convert_short2_sat_rtzDv2_h(<2 x i8> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z26_cl_convert_short3_sat_rtzDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z22convert_short3_sat_rtzDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z26_cl_convert_short3_sat_rtzDv3_h(<3 x i8> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z26_cl_convert_short4_sat_rtzDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z22convert_short4_sat_rtzDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z26_cl_convert_short4_sat_rtzDv4_h(<4 x i8> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z26_cl_convert_short8_sat_rtzDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z22convert_short8_sat_rtzDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z26_cl_convert_short8_sat_rtzDv8_h(<8 x i8> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z27_cl_convert_short16_sat_rtzDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z23convert_short16_sat_rtzDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z27_cl_convert_short16_sat_rtzDv16_h(<16 x i8> %a)
  ret <16 x i16> %call
}


declare i16 @_Z17_cl_convert_shorts(i16) local_unnamed_addr #0

define spir_func  signext i16 @_Z13convert_shorts(i16 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z17_cl_convert_shorts(i16 %a)
  ret i16 %call
}


declare <2 x i16> @_Z18_cl_convert_short2Dv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z14convert_short2Dv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z18_cl_convert_short2Dv2_s(<2 x i16> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z18_cl_convert_short3Dv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z14convert_short3Dv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z18_cl_convert_short3Dv3_s(<3 x i16> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z18_cl_convert_short4Dv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z14convert_short4Dv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z18_cl_convert_short4Dv4_s(<4 x i16> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z18_cl_convert_short8Dv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z14convert_short8Dv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z18_cl_convert_short8Dv8_s(<8 x i16> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z19_cl_convert_short16Dv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z15convert_short16Dv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z19_cl_convert_short16Dv16_s(<16 x i16> %a)
  ret <16 x i16> %call
}


declare i16 @_Z21_cl_convert_short_rtps(i16) local_unnamed_addr #0

define spir_func  signext i16 @_Z17convert_short_rtps(i16 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z21_cl_convert_short_rtps(i16 %a)
  ret i16 %call
}


declare <2 x i16> @_Z22_cl_convert_short2_rtpDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z18convert_short2_rtpDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z22_cl_convert_short2_rtpDv2_s(<2 x i16> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z22_cl_convert_short3_rtpDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z18convert_short3_rtpDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z22_cl_convert_short3_rtpDv3_s(<3 x i16> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z22_cl_convert_short4_rtpDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z18convert_short4_rtpDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z22_cl_convert_short4_rtpDv4_s(<4 x i16> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z22_cl_convert_short8_rtpDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z18convert_short8_rtpDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z22_cl_convert_short8_rtpDv8_s(<8 x i16> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z23_cl_convert_short16_rtpDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z19convert_short16_rtpDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z23_cl_convert_short16_rtpDv16_s(<16 x i16> %a)
  ret <16 x i16> %call
}


declare i16 @_Z21_cl_convert_short_rtns(i16) local_unnamed_addr #0

define spir_func  signext i16 @_Z17convert_short_rtns(i16 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z21_cl_convert_short_rtns(i16 %a)
  ret i16 %call
}


declare <2 x i16> @_Z22_cl_convert_short2_rtnDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z18convert_short2_rtnDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z22_cl_convert_short2_rtnDv2_s(<2 x i16> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z22_cl_convert_short3_rtnDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z18convert_short3_rtnDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z22_cl_convert_short3_rtnDv3_s(<3 x i16> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z22_cl_convert_short4_rtnDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z18convert_short4_rtnDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z22_cl_convert_short4_rtnDv4_s(<4 x i16> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z22_cl_convert_short8_rtnDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z18convert_short8_rtnDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z22_cl_convert_short8_rtnDv8_s(<8 x i16> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z23_cl_convert_short16_rtnDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z19convert_short16_rtnDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z23_cl_convert_short16_rtnDv16_s(<16 x i16> %a)
  ret <16 x i16> %call
}


declare i16 @_Z21_cl_convert_short_rtes(i16) local_unnamed_addr #0

define spir_func  signext i16 @_Z17convert_short_rtes(i16 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z21_cl_convert_short_rtes(i16 %a)
  ret i16 %call
}


declare <2 x i16> @_Z22_cl_convert_short2_rteDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z18convert_short2_rteDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z22_cl_convert_short2_rteDv2_s(<2 x i16> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z22_cl_convert_short3_rteDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z18convert_short3_rteDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z22_cl_convert_short3_rteDv3_s(<3 x i16> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z22_cl_convert_short4_rteDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z18convert_short4_rteDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z22_cl_convert_short4_rteDv4_s(<4 x i16> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z22_cl_convert_short8_rteDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z18convert_short8_rteDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z22_cl_convert_short8_rteDv8_s(<8 x i16> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z23_cl_convert_short16_rteDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z19convert_short16_rteDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z23_cl_convert_short16_rteDv16_s(<16 x i16> %a)
  ret <16 x i16> %call
}


declare i16 @_Z21_cl_convert_short_rtzs(i16) local_unnamed_addr #0

define spir_func  signext i16 @_Z17convert_short_rtzs(i16 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z21_cl_convert_short_rtzs(i16 %a)
  ret i16 %call
}


declare <2 x i16> @_Z22_cl_convert_short2_rtzDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z18convert_short2_rtzDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z22_cl_convert_short2_rtzDv2_s(<2 x i16> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z22_cl_convert_short3_rtzDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z18convert_short3_rtzDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z22_cl_convert_short3_rtzDv3_s(<3 x i16> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z22_cl_convert_short4_rtzDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z18convert_short4_rtzDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z22_cl_convert_short4_rtzDv4_s(<4 x i16> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z22_cl_convert_short8_rtzDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z18convert_short8_rtzDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z22_cl_convert_short8_rtzDv8_s(<8 x i16> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z23_cl_convert_short16_rtzDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z19convert_short16_rtzDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z23_cl_convert_short16_rtzDv16_s(<16 x i16> %a)
  ret <16 x i16> %call
}


declare i16 @_Z21_cl_convert_short_sats(i16) local_unnamed_addr #0

define spir_func  signext i16 @_Z17convert_short_sats(i16 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z21_cl_convert_short_sats(i16 %a)
  ret i16 %call
}


declare <2 x i16> @_Z22_cl_convert_short2_satDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z18convert_short2_satDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z22_cl_convert_short2_satDv2_s(<2 x i16> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z22_cl_convert_short3_satDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z18convert_short3_satDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z22_cl_convert_short3_satDv3_s(<3 x i16> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z22_cl_convert_short4_satDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z18convert_short4_satDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z22_cl_convert_short4_satDv4_s(<4 x i16> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z22_cl_convert_short8_satDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z18convert_short8_satDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z22_cl_convert_short8_satDv8_s(<8 x i16> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z23_cl_convert_short16_satDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z19convert_short16_satDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z23_cl_convert_short16_satDv16_s(<16 x i16> %a)
  ret <16 x i16> %call
}


declare i16 @_Z25_cl_convert_short_sat_rtps(i16) local_unnamed_addr #0

define spir_func  signext i16 @_Z21convert_short_sat_rtps(i16 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z25_cl_convert_short_sat_rtps(i16 %a)
  ret i16 %call
}


declare <2 x i16> @_Z26_cl_convert_short2_sat_rtpDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z22convert_short2_sat_rtpDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z26_cl_convert_short2_sat_rtpDv2_s(<2 x i16> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z26_cl_convert_short3_sat_rtpDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z22convert_short3_sat_rtpDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z26_cl_convert_short3_sat_rtpDv3_s(<3 x i16> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z26_cl_convert_short4_sat_rtpDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z22convert_short4_sat_rtpDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z26_cl_convert_short4_sat_rtpDv4_s(<4 x i16> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z26_cl_convert_short8_sat_rtpDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z22convert_short8_sat_rtpDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z26_cl_convert_short8_sat_rtpDv8_s(<8 x i16> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z27_cl_convert_short16_sat_rtpDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z23convert_short16_sat_rtpDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z27_cl_convert_short16_sat_rtpDv16_s(<16 x i16> %a)
  ret <16 x i16> %call
}


declare i16 @_Z25_cl_convert_short_sat_rtns(i16) local_unnamed_addr #0

define spir_func  signext i16 @_Z21convert_short_sat_rtns(i16 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z25_cl_convert_short_sat_rtns(i16 %a)
  ret i16 %call
}


declare <2 x i16> @_Z26_cl_convert_short2_sat_rtnDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z22convert_short2_sat_rtnDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z26_cl_convert_short2_sat_rtnDv2_s(<2 x i16> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z26_cl_convert_short3_sat_rtnDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z22convert_short3_sat_rtnDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z26_cl_convert_short3_sat_rtnDv3_s(<3 x i16> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z26_cl_convert_short4_sat_rtnDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z22convert_short4_sat_rtnDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z26_cl_convert_short4_sat_rtnDv4_s(<4 x i16> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z26_cl_convert_short8_sat_rtnDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z22convert_short8_sat_rtnDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z26_cl_convert_short8_sat_rtnDv8_s(<8 x i16> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z27_cl_convert_short16_sat_rtnDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z23convert_short16_sat_rtnDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z27_cl_convert_short16_sat_rtnDv16_s(<16 x i16> %a)
  ret <16 x i16> %call
}


declare i16 @_Z25_cl_convert_short_sat_rtes(i16) local_unnamed_addr #0

define spir_func  signext i16 @_Z21convert_short_sat_rtes(i16 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z25_cl_convert_short_sat_rtes(i16 %a)
  ret i16 %call
}


declare <2 x i16> @_Z26_cl_convert_short2_sat_rteDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z22convert_short2_sat_rteDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z26_cl_convert_short2_sat_rteDv2_s(<2 x i16> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z26_cl_convert_short3_sat_rteDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z22convert_short3_sat_rteDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z26_cl_convert_short3_sat_rteDv3_s(<3 x i16> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z26_cl_convert_short4_sat_rteDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z22convert_short4_sat_rteDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z26_cl_convert_short4_sat_rteDv4_s(<4 x i16> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z26_cl_convert_short8_sat_rteDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z22convert_short8_sat_rteDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z26_cl_convert_short8_sat_rteDv8_s(<8 x i16> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z27_cl_convert_short16_sat_rteDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z23convert_short16_sat_rteDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z27_cl_convert_short16_sat_rteDv16_s(<16 x i16> %a)
  ret <16 x i16> %call
}


declare i16 @_Z25_cl_convert_short_sat_rtzs(i16) local_unnamed_addr #0

define spir_func  signext i16 @_Z21convert_short_sat_rtzs(i16 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z25_cl_convert_short_sat_rtzs(i16 %a)
  ret i16 %call
}


declare <2 x i16> @_Z26_cl_convert_short2_sat_rtzDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z22convert_short2_sat_rtzDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z26_cl_convert_short2_sat_rtzDv2_s(<2 x i16> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z26_cl_convert_short3_sat_rtzDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z22convert_short3_sat_rtzDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z26_cl_convert_short3_sat_rtzDv3_s(<3 x i16> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z26_cl_convert_short4_sat_rtzDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z22convert_short4_sat_rtzDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z26_cl_convert_short4_sat_rtzDv4_s(<4 x i16> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z26_cl_convert_short8_sat_rtzDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z22convert_short8_sat_rtzDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z26_cl_convert_short8_sat_rtzDv8_s(<8 x i16> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z27_cl_convert_short16_sat_rtzDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z23convert_short16_sat_rtzDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z27_cl_convert_short16_sat_rtzDv16_s(<16 x i16> %a)
  ret <16 x i16> %call
}


declare i16 @_Z17_cl_convert_shortt(i16) local_unnamed_addr #0

define spir_func  signext i16 @_Z13convert_shortt(i16 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z17_cl_convert_shortt(i16 %a)
  ret i16 %call
}


declare <2 x i16> @_Z18_cl_convert_short2Dv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z14convert_short2Dv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z18_cl_convert_short2Dv2_t(<2 x i16> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z18_cl_convert_short3Dv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z14convert_short3Dv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z18_cl_convert_short3Dv3_t(<3 x i16> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z18_cl_convert_short4Dv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z14convert_short4Dv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z18_cl_convert_short4Dv4_t(<4 x i16> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z18_cl_convert_short8Dv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z14convert_short8Dv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z18_cl_convert_short8Dv8_t(<8 x i16> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z19_cl_convert_short16Dv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z15convert_short16Dv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z19_cl_convert_short16Dv16_t(<16 x i16> %a)
  ret <16 x i16> %call
}


declare i16 @_Z21_cl_convert_short_rtpt(i16) local_unnamed_addr #0

define spir_func  signext i16 @_Z17convert_short_rtpt(i16 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z21_cl_convert_short_rtpt(i16 %a)
  ret i16 %call
}


declare <2 x i16> @_Z22_cl_convert_short2_rtpDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z18convert_short2_rtpDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z22_cl_convert_short2_rtpDv2_t(<2 x i16> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z22_cl_convert_short3_rtpDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z18convert_short3_rtpDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z22_cl_convert_short3_rtpDv3_t(<3 x i16> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z22_cl_convert_short4_rtpDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z18convert_short4_rtpDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z22_cl_convert_short4_rtpDv4_t(<4 x i16> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z22_cl_convert_short8_rtpDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z18convert_short8_rtpDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z22_cl_convert_short8_rtpDv8_t(<8 x i16> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z23_cl_convert_short16_rtpDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z19convert_short16_rtpDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z23_cl_convert_short16_rtpDv16_t(<16 x i16> %a)
  ret <16 x i16> %call
}


declare i16 @_Z21_cl_convert_short_rtnt(i16) local_unnamed_addr #0

define spir_func  signext i16 @_Z17convert_short_rtnt(i16 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z21_cl_convert_short_rtnt(i16 %a)
  ret i16 %call
}


declare <2 x i16> @_Z22_cl_convert_short2_rtnDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z18convert_short2_rtnDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z22_cl_convert_short2_rtnDv2_t(<2 x i16> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z22_cl_convert_short3_rtnDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z18convert_short3_rtnDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z22_cl_convert_short3_rtnDv3_t(<3 x i16> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z22_cl_convert_short4_rtnDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z18convert_short4_rtnDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z22_cl_convert_short4_rtnDv4_t(<4 x i16> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z22_cl_convert_short8_rtnDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z18convert_short8_rtnDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z22_cl_convert_short8_rtnDv8_t(<8 x i16> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z23_cl_convert_short16_rtnDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z19convert_short16_rtnDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z23_cl_convert_short16_rtnDv16_t(<16 x i16> %a)
  ret <16 x i16> %call
}


declare i16 @_Z21_cl_convert_short_rtet(i16) local_unnamed_addr #0

define spir_func  signext i16 @_Z17convert_short_rtet(i16 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z21_cl_convert_short_rtet(i16 %a)
  ret i16 %call
}


declare <2 x i16> @_Z22_cl_convert_short2_rteDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z18convert_short2_rteDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z22_cl_convert_short2_rteDv2_t(<2 x i16> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z22_cl_convert_short3_rteDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z18convert_short3_rteDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z22_cl_convert_short3_rteDv3_t(<3 x i16> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z22_cl_convert_short4_rteDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z18convert_short4_rteDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z22_cl_convert_short4_rteDv4_t(<4 x i16> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z22_cl_convert_short8_rteDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z18convert_short8_rteDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z22_cl_convert_short8_rteDv8_t(<8 x i16> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z23_cl_convert_short16_rteDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z19convert_short16_rteDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z23_cl_convert_short16_rteDv16_t(<16 x i16> %a)
  ret <16 x i16> %call
}


declare i16 @_Z21_cl_convert_short_rtzt(i16) local_unnamed_addr #0

define spir_func  signext i16 @_Z17convert_short_rtzt(i16 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z21_cl_convert_short_rtzt(i16 %a)
  ret i16 %call
}


declare <2 x i16> @_Z22_cl_convert_short2_rtzDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z18convert_short2_rtzDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z22_cl_convert_short2_rtzDv2_t(<2 x i16> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z22_cl_convert_short3_rtzDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z18convert_short3_rtzDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z22_cl_convert_short3_rtzDv3_t(<3 x i16> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z22_cl_convert_short4_rtzDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z18convert_short4_rtzDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z22_cl_convert_short4_rtzDv4_t(<4 x i16> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z22_cl_convert_short8_rtzDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z18convert_short8_rtzDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z22_cl_convert_short8_rtzDv8_t(<8 x i16> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z23_cl_convert_short16_rtzDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z19convert_short16_rtzDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z23_cl_convert_short16_rtzDv16_t(<16 x i16> %a)
  ret <16 x i16> %call
}


declare i16 @_Z21_cl_convert_short_satt(i16) local_unnamed_addr #0

define spir_func  signext i16 @_Z17convert_short_satt(i16 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z21_cl_convert_short_satt(i16 %a)
  ret i16 %call
}


declare <2 x i16> @_Z22_cl_convert_short2_satDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z18convert_short2_satDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z22_cl_convert_short2_satDv2_t(<2 x i16> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z22_cl_convert_short3_satDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z18convert_short3_satDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z22_cl_convert_short3_satDv3_t(<3 x i16> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z22_cl_convert_short4_satDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z18convert_short4_satDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z22_cl_convert_short4_satDv4_t(<4 x i16> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z22_cl_convert_short8_satDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z18convert_short8_satDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z22_cl_convert_short8_satDv8_t(<8 x i16> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z23_cl_convert_short16_satDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z19convert_short16_satDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z23_cl_convert_short16_satDv16_t(<16 x i16> %a)
  ret <16 x i16> %call
}


declare i16 @_Z25_cl_convert_short_sat_rtpt(i16) local_unnamed_addr #0

define spir_func  signext i16 @_Z21convert_short_sat_rtpt(i16 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z25_cl_convert_short_sat_rtpt(i16 %a)
  ret i16 %call
}


declare <2 x i16> @_Z26_cl_convert_short2_sat_rtpDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z22convert_short2_sat_rtpDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z26_cl_convert_short2_sat_rtpDv2_t(<2 x i16> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z26_cl_convert_short3_sat_rtpDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z22convert_short3_sat_rtpDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z26_cl_convert_short3_sat_rtpDv3_t(<3 x i16> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z26_cl_convert_short4_sat_rtpDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z22convert_short4_sat_rtpDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z26_cl_convert_short4_sat_rtpDv4_t(<4 x i16> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z26_cl_convert_short8_sat_rtpDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z22convert_short8_sat_rtpDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z26_cl_convert_short8_sat_rtpDv8_t(<8 x i16> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z27_cl_convert_short16_sat_rtpDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z23convert_short16_sat_rtpDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z27_cl_convert_short16_sat_rtpDv16_t(<16 x i16> %a)
  ret <16 x i16> %call
}


declare i16 @_Z25_cl_convert_short_sat_rtnt(i16) local_unnamed_addr #0

define spir_func  signext i16 @_Z21convert_short_sat_rtnt(i16 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z25_cl_convert_short_sat_rtnt(i16 %a)
  ret i16 %call
}


declare <2 x i16> @_Z26_cl_convert_short2_sat_rtnDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z22convert_short2_sat_rtnDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z26_cl_convert_short2_sat_rtnDv2_t(<2 x i16> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z26_cl_convert_short3_sat_rtnDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z22convert_short3_sat_rtnDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z26_cl_convert_short3_sat_rtnDv3_t(<3 x i16> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z26_cl_convert_short4_sat_rtnDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z22convert_short4_sat_rtnDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z26_cl_convert_short4_sat_rtnDv4_t(<4 x i16> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z26_cl_convert_short8_sat_rtnDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z22convert_short8_sat_rtnDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z26_cl_convert_short8_sat_rtnDv8_t(<8 x i16> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z27_cl_convert_short16_sat_rtnDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z23convert_short16_sat_rtnDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z27_cl_convert_short16_sat_rtnDv16_t(<16 x i16> %a)
  ret <16 x i16> %call
}


declare i16 @_Z25_cl_convert_short_sat_rtet(i16) local_unnamed_addr #0

define spir_func  signext i16 @_Z21convert_short_sat_rtet(i16 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z25_cl_convert_short_sat_rtet(i16 %a)
  ret i16 %call
}


declare <2 x i16> @_Z26_cl_convert_short2_sat_rteDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z22convert_short2_sat_rteDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z26_cl_convert_short2_sat_rteDv2_t(<2 x i16> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z26_cl_convert_short3_sat_rteDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z22convert_short3_sat_rteDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z26_cl_convert_short3_sat_rteDv3_t(<3 x i16> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z26_cl_convert_short4_sat_rteDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z22convert_short4_sat_rteDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z26_cl_convert_short4_sat_rteDv4_t(<4 x i16> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z26_cl_convert_short8_sat_rteDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z22convert_short8_sat_rteDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z26_cl_convert_short8_sat_rteDv8_t(<8 x i16> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z27_cl_convert_short16_sat_rteDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z23convert_short16_sat_rteDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z27_cl_convert_short16_sat_rteDv16_t(<16 x i16> %a)
  ret <16 x i16> %call
}


declare i16 @_Z25_cl_convert_short_sat_rtzt(i16) local_unnamed_addr #0

define spir_func  signext i16 @_Z21convert_short_sat_rtzt(i16 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z25_cl_convert_short_sat_rtzt(i16 %a)
  ret i16 %call
}


declare <2 x i16> @_Z26_cl_convert_short2_sat_rtzDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z22convert_short2_sat_rtzDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z26_cl_convert_short2_sat_rtzDv2_t(<2 x i16> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z26_cl_convert_short3_sat_rtzDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z22convert_short3_sat_rtzDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z26_cl_convert_short3_sat_rtzDv3_t(<3 x i16> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z26_cl_convert_short4_sat_rtzDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z22convert_short4_sat_rtzDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z26_cl_convert_short4_sat_rtzDv4_t(<4 x i16> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z26_cl_convert_short8_sat_rtzDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z22convert_short8_sat_rtzDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z26_cl_convert_short8_sat_rtzDv8_t(<8 x i16> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z27_cl_convert_short16_sat_rtzDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z23convert_short16_sat_rtzDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z27_cl_convert_short16_sat_rtzDv16_t(<16 x i16> %a)
  ret <16 x i16> %call
}


declare i16 @_Z17_cl_convert_shorti(i32) local_unnamed_addr #0

define spir_func  signext i16 @_Z13convert_shorti(i32 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z17_cl_convert_shorti(i32 %a)
  ret i16 %call
}


declare <2 x i16> @_Z18_cl_convert_short2Dv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z14convert_short2Dv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z18_cl_convert_short2Dv2_i(<2 x i32> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z18_cl_convert_short3Dv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z14convert_short3Dv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z18_cl_convert_short3Dv3_i(<3 x i32> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z18_cl_convert_short4Dv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z14convert_short4Dv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z18_cl_convert_short4Dv4_i(<4 x i32> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z18_cl_convert_short8Dv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z14convert_short8Dv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z18_cl_convert_short8Dv8_i(<8 x i32> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z19_cl_convert_short16Dv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z15convert_short16Dv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z19_cl_convert_short16Dv16_i(<16 x i32> %a)
  ret <16 x i16> %call
}


declare i16 @_Z21_cl_convert_short_rtpi(i32) local_unnamed_addr #0

define spir_func  signext i16 @_Z17convert_short_rtpi(i32 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z21_cl_convert_short_rtpi(i32 %a)
  ret i16 %call
}


declare <2 x i16> @_Z22_cl_convert_short2_rtpDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z18convert_short2_rtpDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z22_cl_convert_short2_rtpDv2_i(<2 x i32> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z22_cl_convert_short3_rtpDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z18convert_short3_rtpDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z22_cl_convert_short3_rtpDv3_i(<3 x i32> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z22_cl_convert_short4_rtpDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z18convert_short4_rtpDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z22_cl_convert_short4_rtpDv4_i(<4 x i32> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z22_cl_convert_short8_rtpDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z18convert_short8_rtpDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z22_cl_convert_short8_rtpDv8_i(<8 x i32> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z23_cl_convert_short16_rtpDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z19convert_short16_rtpDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z23_cl_convert_short16_rtpDv16_i(<16 x i32> %a)
  ret <16 x i16> %call
}


declare i16 @_Z21_cl_convert_short_rtni(i32) local_unnamed_addr #0

define spir_func  signext i16 @_Z17convert_short_rtni(i32 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z21_cl_convert_short_rtni(i32 %a)
  ret i16 %call
}


declare <2 x i16> @_Z22_cl_convert_short2_rtnDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z18convert_short2_rtnDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z22_cl_convert_short2_rtnDv2_i(<2 x i32> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z22_cl_convert_short3_rtnDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z18convert_short3_rtnDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z22_cl_convert_short3_rtnDv3_i(<3 x i32> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z22_cl_convert_short4_rtnDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z18convert_short4_rtnDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z22_cl_convert_short4_rtnDv4_i(<4 x i32> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z22_cl_convert_short8_rtnDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z18convert_short8_rtnDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z22_cl_convert_short8_rtnDv8_i(<8 x i32> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z23_cl_convert_short16_rtnDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z19convert_short16_rtnDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z23_cl_convert_short16_rtnDv16_i(<16 x i32> %a)
  ret <16 x i16> %call
}


declare i16 @_Z21_cl_convert_short_rtei(i32) local_unnamed_addr #0

define spir_func  signext i16 @_Z17convert_short_rtei(i32 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z21_cl_convert_short_rtei(i32 %a)
  ret i16 %call
}


declare <2 x i16> @_Z22_cl_convert_short2_rteDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z18convert_short2_rteDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z22_cl_convert_short2_rteDv2_i(<2 x i32> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z22_cl_convert_short3_rteDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z18convert_short3_rteDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z22_cl_convert_short3_rteDv3_i(<3 x i32> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z22_cl_convert_short4_rteDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z18convert_short4_rteDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z22_cl_convert_short4_rteDv4_i(<4 x i32> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z22_cl_convert_short8_rteDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z18convert_short8_rteDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z22_cl_convert_short8_rteDv8_i(<8 x i32> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z23_cl_convert_short16_rteDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z19convert_short16_rteDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z23_cl_convert_short16_rteDv16_i(<16 x i32> %a)
  ret <16 x i16> %call
}


declare i16 @_Z21_cl_convert_short_rtzi(i32) local_unnamed_addr #0

define spir_func  signext i16 @_Z17convert_short_rtzi(i32 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z21_cl_convert_short_rtzi(i32 %a)
  ret i16 %call
}


declare <2 x i16> @_Z22_cl_convert_short2_rtzDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z18convert_short2_rtzDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z22_cl_convert_short2_rtzDv2_i(<2 x i32> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z22_cl_convert_short3_rtzDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z18convert_short3_rtzDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z22_cl_convert_short3_rtzDv3_i(<3 x i32> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z22_cl_convert_short4_rtzDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z18convert_short4_rtzDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z22_cl_convert_short4_rtzDv4_i(<4 x i32> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z22_cl_convert_short8_rtzDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z18convert_short8_rtzDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z22_cl_convert_short8_rtzDv8_i(<8 x i32> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z23_cl_convert_short16_rtzDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z19convert_short16_rtzDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z23_cl_convert_short16_rtzDv16_i(<16 x i32> %a)
  ret <16 x i16> %call
}


declare i16 @_Z21_cl_convert_short_sati(i32) local_unnamed_addr #0

define spir_func  signext i16 @_Z17convert_short_sati(i32 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z21_cl_convert_short_sati(i32 %a)
  ret i16 %call
}


declare <2 x i16> @_Z22_cl_convert_short2_satDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z18convert_short2_satDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z22_cl_convert_short2_satDv2_i(<2 x i32> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z22_cl_convert_short3_satDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z18convert_short3_satDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z22_cl_convert_short3_satDv3_i(<3 x i32> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z22_cl_convert_short4_satDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z18convert_short4_satDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z22_cl_convert_short4_satDv4_i(<4 x i32> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z22_cl_convert_short8_satDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z18convert_short8_satDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z22_cl_convert_short8_satDv8_i(<8 x i32> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z23_cl_convert_short16_satDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z19convert_short16_satDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z23_cl_convert_short16_satDv16_i(<16 x i32> %a)
  ret <16 x i16> %call
}


declare i16 @_Z25_cl_convert_short_sat_rtpi(i32) local_unnamed_addr #0

define spir_func  signext i16 @_Z21convert_short_sat_rtpi(i32 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z25_cl_convert_short_sat_rtpi(i32 %a)
  ret i16 %call
}


declare <2 x i16> @_Z26_cl_convert_short2_sat_rtpDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z22convert_short2_sat_rtpDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z26_cl_convert_short2_sat_rtpDv2_i(<2 x i32> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z26_cl_convert_short3_sat_rtpDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z22convert_short3_sat_rtpDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z26_cl_convert_short3_sat_rtpDv3_i(<3 x i32> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z26_cl_convert_short4_sat_rtpDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z22convert_short4_sat_rtpDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z26_cl_convert_short4_sat_rtpDv4_i(<4 x i32> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z26_cl_convert_short8_sat_rtpDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z22convert_short8_sat_rtpDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z26_cl_convert_short8_sat_rtpDv8_i(<8 x i32> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z27_cl_convert_short16_sat_rtpDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z23convert_short16_sat_rtpDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z27_cl_convert_short16_sat_rtpDv16_i(<16 x i32> %a)
  ret <16 x i16> %call
}


declare i16 @_Z25_cl_convert_short_sat_rtni(i32) local_unnamed_addr #0

define spir_func  signext i16 @_Z21convert_short_sat_rtni(i32 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z25_cl_convert_short_sat_rtni(i32 %a)
  ret i16 %call
}


declare <2 x i16> @_Z26_cl_convert_short2_sat_rtnDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z22convert_short2_sat_rtnDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z26_cl_convert_short2_sat_rtnDv2_i(<2 x i32> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z26_cl_convert_short3_sat_rtnDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z22convert_short3_sat_rtnDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z26_cl_convert_short3_sat_rtnDv3_i(<3 x i32> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z26_cl_convert_short4_sat_rtnDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z22convert_short4_sat_rtnDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z26_cl_convert_short4_sat_rtnDv4_i(<4 x i32> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z26_cl_convert_short8_sat_rtnDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z22convert_short8_sat_rtnDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z26_cl_convert_short8_sat_rtnDv8_i(<8 x i32> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z27_cl_convert_short16_sat_rtnDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z23convert_short16_sat_rtnDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z27_cl_convert_short16_sat_rtnDv16_i(<16 x i32> %a)
  ret <16 x i16> %call
}


declare i16 @_Z25_cl_convert_short_sat_rtei(i32) local_unnamed_addr #0

define spir_func  signext i16 @_Z21convert_short_sat_rtei(i32 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z25_cl_convert_short_sat_rtei(i32 %a)
  ret i16 %call
}


declare <2 x i16> @_Z26_cl_convert_short2_sat_rteDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z22convert_short2_sat_rteDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z26_cl_convert_short2_sat_rteDv2_i(<2 x i32> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z26_cl_convert_short3_sat_rteDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z22convert_short3_sat_rteDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z26_cl_convert_short3_sat_rteDv3_i(<3 x i32> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z26_cl_convert_short4_sat_rteDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z22convert_short4_sat_rteDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z26_cl_convert_short4_sat_rteDv4_i(<4 x i32> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z26_cl_convert_short8_sat_rteDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z22convert_short8_sat_rteDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z26_cl_convert_short8_sat_rteDv8_i(<8 x i32> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z27_cl_convert_short16_sat_rteDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z23convert_short16_sat_rteDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z27_cl_convert_short16_sat_rteDv16_i(<16 x i32> %a)
  ret <16 x i16> %call
}


declare i16 @_Z25_cl_convert_short_sat_rtzi(i32) local_unnamed_addr #0

define spir_func  signext i16 @_Z21convert_short_sat_rtzi(i32 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z25_cl_convert_short_sat_rtzi(i32 %a)
  ret i16 %call
}


declare <2 x i16> @_Z26_cl_convert_short2_sat_rtzDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z22convert_short2_sat_rtzDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z26_cl_convert_short2_sat_rtzDv2_i(<2 x i32> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z26_cl_convert_short3_sat_rtzDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z22convert_short3_sat_rtzDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z26_cl_convert_short3_sat_rtzDv3_i(<3 x i32> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z26_cl_convert_short4_sat_rtzDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z22convert_short4_sat_rtzDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z26_cl_convert_short4_sat_rtzDv4_i(<4 x i32> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z26_cl_convert_short8_sat_rtzDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z22convert_short8_sat_rtzDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z26_cl_convert_short8_sat_rtzDv8_i(<8 x i32> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z27_cl_convert_short16_sat_rtzDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z23convert_short16_sat_rtzDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z27_cl_convert_short16_sat_rtzDv16_i(<16 x i32> %a)
  ret <16 x i16> %call
}


declare i16 @_Z17_cl_convert_shortj(i32) local_unnamed_addr #0

define spir_func  signext i16 @_Z13convert_shortj(i32 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z17_cl_convert_shortj(i32 %a)
  ret i16 %call
}


declare <2 x i16> @_Z18_cl_convert_short2Dv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z14convert_short2Dv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z18_cl_convert_short2Dv2_j(<2 x i32> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z18_cl_convert_short3Dv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z14convert_short3Dv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z18_cl_convert_short3Dv3_j(<3 x i32> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z18_cl_convert_short4Dv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z14convert_short4Dv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z18_cl_convert_short4Dv4_j(<4 x i32> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z18_cl_convert_short8Dv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z14convert_short8Dv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z18_cl_convert_short8Dv8_j(<8 x i32> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z19_cl_convert_short16Dv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z15convert_short16Dv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z19_cl_convert_short16Dv16_j(<16 x i32> %a)
  ret <16 x i16> %call
}


declare i16 @_Z21_cl_convert_short_rtpj(i32) local_unnamed_addr #0

define spir_func  signext i16 @_Z17convert_short_rtpj(i32 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z21_cl_convert_short_rtpj(i32 %a)
  ret i16 %call
}


declare <2 x i16> @_Z22_cl_convert_short2_rtpDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z18convert_short2_rtpDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z22_cl_convert_short2_rtpDv2_j(<2 x i32> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z22_cl_convert_short3_rtpDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z18convert_short3_rtpDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z22_cl_convert_short3_rtpDv3_j(<3 x i32> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z22_cl_convert_short4_rtpDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z18convert_short4_rtpDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z22_cl_convert_short4_rtpDv4_j(<4 x i32> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z22_cl_convert_short8_rtpDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z18convert_short8_rtpDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z22_cl_convert_short8_rtpDv8_j(<8 x i32> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z23_cl_convert_short16_rtpDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z19convert_short16_rtpDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z23_cl_convert_short16_rtpDv16_j(<16 x i32> %a)
  ret <16 x i16> %call
}


declare i16 @_Z21_cl_convert_short_rtnj(i32) local_unnamed_addr #0

define spir_func  signext i16 @_Z17convert_short_rtnj(i32 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z21_cl_convert_short_rtnj(i32 %a)
  ret i16 %call
}


declare <2 x i16> @_Z22_cl_convert_short2_rtnDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z18convert_short2_rtnDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z22_cl_convert_short2_rtnDv2_j(<2 x i32> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z22_cl_convert_short3_rtnDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z18convert_short3_rtnDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z22_cl_convert_short3_rtnDv3_j(<3 x i32> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z22_cl_convert_short4_rtnDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z18convert_short4_rtnDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z22_cl_convert_short4_rtnDv4_j(<4 x i32> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z22_cl_convert_short8_rtnDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z18convert_short8_rtnDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z22_cl_convert_short8_rtnDv8_j(<8 x i32> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z23_cl_convert_short16_rtnDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z19convert_short16_rtnDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z23_cl_convert_short16_rtnDv16_j(<16 x i32> %a)
  ret <16 x i16> %call
}


declare i16 @_Z21_cl_convert_short_rtej(i32) local_unnamed_addr #0

define spir_func  signext i16 @_Z17convert_short_rtej(i32 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z21_cl_convert_short_rtej(i32 %a)
  ret i16 %call
}


declare <2 x i16> @_Z22_cl_convert_short2_rteDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z18convert_short2_rteDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z22_cl_convert_short2_rteDv2_j(<2 x i32> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z22_cl_convert_short3_rteDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z18convert_short3_rteDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z22_cl_convert_short3_rteDv3_j(<3 x i32> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z22_cl_convert_short4_rteDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z18convert_short4_rteDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z22_cl_convert_short4_rteDv4_j(<4 x i32> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z22_cl_convert_short8_rteDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z18convert_short8_rteDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z22_cl_convert_short8_rteDv8_j(<8 x i32> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z23_cl_convert_short16_rteDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z19convert_short16_rteDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z23_cl_convert_short16_rteDv16_j(<16 x i32> %a)
  ret <16 x i16> %call
}


declare i16 @_Z21_cl_convert_short_rtzj(i32) local_unnamed_addr #0

define spir_func  signext i16 @_Z17convert_short_rtzj(i32 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z21_cl_convert_short_rtzj(i32 %a)
  ret i16 %call
}


declare <2 x i16> @_Z22_cl_convert_short2_rtzDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z18convert_short2_rtzDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z22_cl_convert_short2_rtzDv2_j(<2 x i32> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z22_cl_convert_short3_rtzDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z18convert_short3_rtzDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z22_cl_convert_short3_rtzDv3_j(<3 x i32> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z22_cl_convert_short4_rtzDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z18convert_short4_rtzDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z22_cl_convert_short4_rtzDv4_j(<4 x i32> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z22_cl_convert_short8_rtzDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z18convert_short8_rtzDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z22_cl_convert_short8_rtzDv8_j(<8 x i32> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z23_cl_convert_short16_rtzDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z19convert_short16_rtzDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z23_cl_convert_short16_rtzDv16_j(<16 x i32> %a)
  ret <16 x i16> %call
}


declare i16 @_Z21_cl_convert_short_satj(i32) local_unnamed_addr #0

define spir_func  signext i16 @_Z17convert_short_satj(i32 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z21_cl_convert_short_satj(i32 %a)
  ret i16 %call
}


declare <2 x i16> @_Z22_cl_convert_short2_satDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z18convert_short2_satDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z22_cl_convert_short2_satDv2_j(<2 x i32> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z22_cl_convert_short3_satDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z18convert_short3_satDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z22_cl_convert_short3_satDv3_j(<3 x i32> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z22_cl_convert_short4_satDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z18convert_short4_satDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z22_cl_convert_short4_satDv4_j(<4 x i32> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z22_cl_convert_short8_satDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z18convert_short8_satDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z22_cl_convert_short8_satDv8_j(<8 x i32> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z23_cl_convert_short16_satDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z19convert_short16_satDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z23_cl_convert_short16_satDv16_j(<16 x i32> %a)
  ret <16 x i16> %call
}


declare i16 @_Z25_cl_convert_short_sat_rtpj(i32) local_unnamed_addr #0

define spir_func  signext i16 @_Z21convert_short_sat_rtpj(i32 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z25_cl_convert_short_sat_rtpj(i32 %a)
  ret i16 %call
}


declare <2 x i16> @_Z26_cl_convert_short2_sat_rtpDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z22convert_short2_sat_rtpDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z26_cl_convert_short2_sat_rtpDv2_j(<2 x i32> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z26_cl_convert_short3_sat_rtpDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z22convert_short3_sat_rtpDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z26_cl_convert_short3_sat_rtpDv3_j(<3 x i32> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z26_cl_convert_short4_sat_rtpDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z22convert_short4_sat_rtpDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z26_cl_convert_short4_sat_rtpDv4_j(<4 x i32> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z26_cl_convert_short8_sat_rtpDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z22convert_short8_sat_rtpDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z26_cl_convert_short8_sat_rtpDv8_j(<8 x i32> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z27_cl_convert_short16_sat_rtpDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z23convert_short16_sat_rtpDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z27_cl_convert_short16_sat_rtpDv16_j(<16 x i32> %a)
  ret <16 x i16> %call
}


declare i16 @_Z25_cl_convert_short_sat_rtnj(i32) local_unnamed_addr #0

define spir_func  signext i16 @_Z21convert_short_sat_rtnj(i32 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z25_cl_convert_short_sat_rtnj(i32 %a)
  ret i16 %call
}


declare <2 x i16> @_Z26_cl_convert_short2_sat_rtnDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z22convert_short2_sat_rtnDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z26_cl_convert_short2_sat_rtnDv2_j(<2 x i32> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z26_cl_convert_short3_sat_rtnDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z22convert_short3_sat_rtnDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z26_cl_convert_short3_sat_rtnDv3_j(<3 x i32> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z26_cl_convert_short4_sat_rtnDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z22convert_short4_sat_rtnDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z26_cl_convert_short4_sat_rtnDv4_j(<4 x i32> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z26_cl_convert_short8_sat_rtnDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z22convert_short8_sat_rtnDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z26_cl_convert_short8_sat_rtnDv8_j(<8 x i32> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z27_cl_convert_short16_sat_rtnDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z23convert_short16_sat_rtnDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z27_cl_convert_short16_sat_rtnDv16_j(<16 x i32> %a)
  ret <16 x i16> %call
}


declare i16 @_Z25_cl_convert_short_sat_rtej(i32) local_unnamed_addr #0

define spir_func  signext i16 @_Z21convert_short_sat_rtej(i32 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z25_cl_convert_short_sat_rtej(i32 %a)
  ret i16 %call
}


declare <2 x i16> @_Z26_cl_convert_short2_sat_rteDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z22convert_short2_sat_rteDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z26_cl_convert_short2_sat_rteDv2_j(<2 x i32> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z26_cl_convert_short3_sat_rteDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z22convert_short3_sat_rteDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z26_cl_convert_short3_sat_rteDv3_j(<3 x i32> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z26_cl_convert_short4_sat_rteDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z22convert_short4_sat_rteDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z26_cl_convert_short4_sat_rteDv4_j(<4 x i32> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z26_cl_convert_short8_sat_rteDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z22convert_short8_sat_rteDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z26_cl_convert_short8_sat_rteDv8_j(<8 x i32> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z27_cl_convert_short16_sat_rteDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z23convert_short16_sat_rteDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z27_cl_convert_short16_sat_rteDv16_j(<16 x i32> %a)
  ret <16 x i16> %call
}


declare i16 @_Z25_cl_convert_short_sat_rtzj(i32) local_unnamed_addr #0

define spir_func  signext i16 @_Z21convert_short_sat_rtzj(i32 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z25_cl_convert_short_sat_rtzj(i32 %a)
  ret i16 %call
}


declare <2 x i16> @_Z26_cl_convert_short2_sat_rtzDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z22convert_short2_sat_rtzDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z26_cl_convert_short2_sat_rtzDv2_j(<2 x i32> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z26_cl_convert_short3_sat_rtzDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z22convert_short3_sat_rtzDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z26_cl_convert_short3_sat_rtzDv3_j(<3 x i32> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z26_cl_convert_short4_sat_rtzDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z22convert_short4_sat_rtzDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z26_cl_convert_short4_sat_rtzDv4_j(<4 x i32> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z26_cl_convert_short8_sat_rtzDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z22convert_short8_sat_rtzDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z26_cl_convert_short8_sat_rtzDv8_j(<8 x i32> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z27_cl_convert_short16_sat_rtzDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z23convert_short16_sat_rtzDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z27_cl_convert_short16_sat_rtzDv16_j(<16 x i32> %a)
  ret <16 x i16> %call
}


declare i16 @_Z17_cl_convert_shortl(i64) local_unnamed_addr #0

define spir_func  signext i16 @_Z13convert_shortl(i64 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z17_cl_convert_shortl(i64 %a)
  ret i16 %call
}


declare <2 x i16> @_Z18_cl_convert_short2Dv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z14convert_short2Dv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z18_cl_convert_short2Dv2_l(<2 x i64> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z18_cl_convert_short3Dv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z14convert_short3Dv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z18_cl_convert_short3Dv3_l(<3 x i64> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z18_cl_convert_short4Dv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z14convert_short4Dv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z18_cl_convert_short4Dv4_l(<4 x i64> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z18_cl_convert_short8Dv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z14convert_short8Dv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z18_cl_convert_short8Dv8_l(<8 x i64> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z19_cl_convert_short16Dv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z15convert_short16Dv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z19_cl_convert_short16Dv16_l(<16 x i64> %a)
  ret <16 x i16> %call
}


declare i16 @_Z21_cl_convert_short_rtpl(i64) local_unnamed_addr #0

define spir_func  signext i16 @_Z17convert_short_rtpl(i64 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z21_cl_convert_short_rtpl(i64 %a)
  ret i16 %call
}


declare <2 x i16> @_Z22_cl_convert_short2_rtpDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z18convert_short2_rtpDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z22_cl_convert_short2_rtpDv2_l(<2 x i64> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z22_cl_convert_short3_rtpDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z18convert_short3_rtpDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z22_cl_convert_short3_rtpDv3_l(<3 x i64> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z22_cl_convert_short4_rtpDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z18convert_short4_rtpDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z22_cl_convert_short4_rtpDv4_l(<4 x i64> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z22_cl_convert_short8_rtpDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z18convert_short8_rtpDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z22_cl_convert_short8_rtpDv8_l(<8 x i64> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z23_cl_convert_short16_rtpDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z19convert_short16_rtpDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z23_cl_convert_short16_rtpDv16_l(<16 x i64> %a)
  ret <16 x i16> %call
}


declare i16 @_Z21_cl_convert_short_rtnl(i64) local_unnamed_addr #0

define spir_func  signext i16 @_Z17convert_short_rtnl(i64 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z21_cl_convert_short_rtnl(i64 %a)
  ret i16 %call
}


declare <2 x i16> @_Z22_cl_convert_short2_rtnDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z18convert_short2_rtnDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z22_cl_convert_short2_rtnDv2_l(<2 x i64> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z22_cl_convert_short3_rtnDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z18convert_short3_rtnDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z22_cl_convert_short3_rtnDv3_l(<3 x i64> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z22_cl_convert_short4_rtnDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z18convert_short4_rtnDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z22_cl_convert_short4_rtnDv4_l(<4 x i64> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z22_cl_convert_short8_rtnDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z18convert_short8_rtnDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z22_cl_convert_short8_rtnDv8_l(<8 x i64> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z23_cl_convert_short16_rtnDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z19convert_short16_rtnDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z23_cl_convert_short16_rtnDv16_l(<16 x i64> %a)
  ret <16 x i16> %call
}


declare i16 @_Z21_cl_convert_short_rtel(i64) local_unnamed_addr #0

define spir_func  signext i16 @_Z17convert_short_rtel(i64 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z21_cl_convert_short_rtel(i64 %a)
  ret i16 %call
}


declare <2 x i16> @_Z22_cl_convert_short2_rteDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z18convert_short2_rteDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z22_cl_convert_short2_rteDv2_l(<2 x i64> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z22_cl_convert_short3_rteDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z18convert_short3_rteDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z22_cl_convert_short3_rteDv3_l(<3 x i64> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z22_cl_convert_short4_rteDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z18convert_short4_rteDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z22_cl_convert_short4_rteDv4_l(<4 x i64> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z22_cl_convert_short8_rteDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z18convert_short8_rteDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z22_cl_convert_short8_rteDv8_l(<8 x i64> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z23_cl_convert_short16_rteDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z19convert_short16_rteDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z23_cl_convert_short16_rteDv16_l(<16 x i64> %a)
  ret <16 x i16> %call
}


declare i16 @_Z21_cl_convert_short_rtzl(i64) local_unnamed_addr #0

define spir_func  signext i16 @_Z17convert_short_rtzl(i64 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z21_cl_convert_short_rtzl(i64 %a)
  ret i16 %call
}


declare <2 x i16> @_Z22_cl_convert_short2_rtzDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z18convert_short2_rtzDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z22_cl_convert_short2_rtzDv2_l(<2 x i64> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z22_cl_convert_short3_rtzDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z18convert_short3_rtzDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z22_cl_convert_short3_rtzDv3_l(<3 x i64> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z22_cl_convert_short4_rtzDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z18convert_short4_rtzDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z22_cl_convert_short4_rtzDv4_l(<4 x i64> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z22_cl_convert_short8_rtzDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z18convert_short8_rtzDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z22_cl_convert_short8_rtzDv8_l(<8 x i64> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z23_cl_convert_short16_rtzDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z19convert_short16_rtzDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z23_cl_convert_short16_rtzDv16_l(<16 x i64> %a)
  ret <16 x i16> %call
}


declare i16 @_Z21_cl_convert_short_satl(i64) local_unnamed_addr #0

define spir_func  signext i16 @_Z17convert_short_satl(i64 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z21_cl_convert_short_satl(i64 %a)
  ret i16 %call
}


declare <2 x i16> @_Z22_cl_convert_short2_satDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z18convert_short2_satDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z22_cl_convert_short2_satDv2_l(<2 x i64> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z22_cl_convert_short3_satDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z18convert_short3_satDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z22_cl_convert_short3_satDv3_l(<3 x i64> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z22_cl_convert_short4_satDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z18convert_short4_satDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z22_cl_convert_short4_satDv4_l(<4 x i64> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z22_cl_convert_short8_satDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z18convert_short8_satDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z22_cl_convert_short8_satDv8_l(<8 x i64> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z23_cl_convert_short16_satDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z19convert_short16_satDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z23_cl_convert_short16_satDv16_l(<16 x i64> %a)
  ret <16 x i16> %call
}


declare i16 @_Z25_cl_convert_short_sat_rtpl(i64) local_unnamed_addr #0

define spir_func  signext i16 @_Z21convert_short_sat_rtpl(i64 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z25_cl_convert_short_sat_rtpl(i64 %a)
  ret i16 %call
}


declare <2 x i16> @_Z26_cl_convert_short2_sat_rtpDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z22convert_short2_sat_rtpDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z26_cl_convert_short2_sat_rtpDv2_l(<2 x i64> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z26_cl_convert_short3_sat_rtpDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z22convert_short3_sat_rtpDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z26_cl_convert_short3_sat_rtpDv3_l(<3 x i64> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z26_cl_convert_short4_sat_rtpDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z22convert_short4_sat_rtpDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z26_cl_convert_short4_sat_rtpDv4_l(<4 x i64> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z26_cl_convert_short8_sat_rtpDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z22convert_short8_sat_rtpDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z26_cl_convert_short8_sat_rtpDv8_l(<8 x i64> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z27_cl_convert_short16_sat_rtpDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z23convert_short16_sat_rtpDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z27_cl_convert_short16_sat_rtpDv16_l(<16 x i64> %a)
  ret <16 x i16> %call
}


declare i16 @_Z25_cl_convert_short_sat_rtnl(i64) local_unnamed_addr #0

define spir_func  signext i16 @_Z21convert_short_sat_rtnl(i64 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z25_cl_convert_short_sat_rtnl(i64 %a)
  ret i16 %call
}


declare <2 x i16> @_Z26_cl_convert_short2_sat_rtnDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z22convert_short2_sat_rtnDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z26_cl_convert_short2_sat_rtnDv2_l(<2 x i64> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z26_cl_convert_short3_sat_rtnDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z22convert_short3_sat_rtnDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z26_cl_convert_short3_sat_rtnDv3_l(<3 x i64> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z26_cl_convert_short4_sat_rtnDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z22convert_short4_sat_rtnDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z26_cl_convert_short4_sat_rtnDv4_l(<4 x i64> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z26_cl_convert_short8_sat_rtnDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z22convert_short8_sat_rtnDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z26_cl_convert_short8_sat_rtnDv8_l(<8 x i64> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z27_cl_convert_short16_sat_rtnDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z23convert_short16_sat_rtnDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z27_cl_convert_short16_sat_rtnDv16_l(<16 x i64> %a)
  ret <16 x i16> %call
}


declare i16 @_Z25_cl_convert_short_sat_rtel(i64) local_unnamed_addr #0

define spir_func  signext i16 @_Z21convert_short_sat_rtel(i64 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z25_cl_convert_short_sat_rtel(i64 %a)
  ret i16 %call
}


declare <2 x i16> @_Z26_cl_convert_short2_sat_rteDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z22convert_short2_sat_rteDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z26_cl_convert_short2_sat_rteDv2_l(<2 x i64> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z26_cl_convert_short3_sat_rteDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z22convert_short3_sat_rteDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z26_cl_convert_short3_sat_rteDv3_l(<3 x i64> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z26_cl_convert_short4_sat_rteDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z22convert_short4_sat_rteDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z26_cl_convert_short4_sat_rteDv4_l(<4 x i64> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z26_cl_convert_short8_sat_rteDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z22convert_short8_sat_rteDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z26_cl_convert_short8_sat_rteDv8_l(<8 x i64> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z27_cl_convert_short16_sat_rteDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z23convert_short16_sat_rteDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z27_cl_convert_short16_sat_rteDv16_l(<16 x i64> %a)
  ret <16 x i16> %call
}


declare i16 @_Z25_cl_convert_short_sat_rtzl(i64) local_unnamed_addr #0

define spir_func  signext i16 @_Z21convert_short_sat_rtzl(i64 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z25_cl_convert_short_sat_rtzl(i64 %a)
  ret i16 %call
}


declare <2 x i16> @_Z26_cl_convert_short2_sat_rtzDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z22convert_short2_sat_rtzDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z26_cl_convert_short2_sat_rtzDv2_l(<2 x i64> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z26_cl_convert_short3_sat_rtzDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z22convert_short3_sat_rtzDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z26_cl_convert_short3_sat_rtzDv3_l(<3 x i64> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z26_cl_convert_short4_sat_rtzDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z22convert_short4_sat_rtzDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z26_cl_convert_short4_sat_rtzDv4_l(<4 x i64> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z26_cl_convert_short8_sat_rtzDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z22convert_short8_sat_rtzDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z26_cl_convert_short8_sat_rtzDv8_l(<8 x i64> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z27_cl_convert_short16_sat_rtzDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z23convert_short16_sat_rtzDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z27_cl_convert_short16_sat_rtzDv16_l(<16 x i64> %a)
  ret <16 x i16> %call
}


declare i16 @_Z17_cl_convert_shortm(i64) local_unnamed_addr #0

define spir_func  signext i16 @_Z13convert_shortm(i64 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z17_cl_convert_shortm(i64 %a)
  ret i16 %call
}


declare <2 x i16> @_Z18_cl_convert_short2Dv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z14convert_short2Dv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z18_cl_convert_short2Dv2_m(<2 x i64> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z18_cl_convert_short3Dv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z14convert_short3Dv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z18_cl_convert_short3Dv3_m(<3 x i64> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z18_cl_convert_short4Dv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z14convert_short4Dv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z18_cl_convert_short4Dv4_m(<4 x i64> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z18_cl_convert_short8Dv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z14convert_short8Dv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z18_cl_convert_short8Dv8_m(<8 x i64> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z19_cl_convert_short16Dv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z15convert_short16Dv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z19_cl_convert_short16Dv16_m(<16 x i64> %a)
  ret <16 x i16> %call
}


declare i16 @_Z21_cl_convert_short_rtpm(i64) local_unnamed_addr #0

define spir_func  signext i16 @_Z17convert_short_rtpm(i64 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z21_cl_convert_short_rtpm(i64 %a)
  ret i16 %call
}


declare <2 x i16> @_Z22_cl_convert_short2_rtpDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z18convert_short2_rtpDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z22_cl_convert_short2_rtpDv2_m(<2 x i64> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z22_cl_convert_short3_rtpDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z18convert_short3_rtpDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z22_cl_convert_short3_rtpDv3_m(<3 x i64> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z22_cl_convert_short4_rtpDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z18convert_short4_rtpDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z22_cl_convert_short4_rtpDv4_m(<4 x i64> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z22_cl_convert_short8_rtpDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z18convert_short8_rtpDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z22_cl_convert_short8_rtpDv8_m(<8 x i64> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z23_cl_convert_short16_rtpDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z19convert_short16_rtpDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z23_cl_convert_short16_rtpDv16_m(<16 x i64> %a)
  ret <16 x i16> %call
}


declare i16 @_Z21_cl_convert_short_rtnm(i64) local_unnamed_addr #0

define spir_func  signext i16 @_Z17convert_short_rtnm(i64 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z21_cl_convert_short_rtnm(i64 %a)
  ret i16 %call
}


declare <2 x i16> @_Z22_cl_convert_short2_rtnDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z18convert_short2_rtnDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z22_cl_convert_short2_rtnDv2_m(<2 x i64> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z22_cl_convert_short3_rtnDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z18convert_short3_rtnDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z22_cl_convert_short3_rtnDv3_m(<3 x i64> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z22_cl_convert_short4_rtnDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z18convert_short4_rtnDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z22_cl_convert_short4_rtnDv4_m(<4 x i64> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z22_cl_convert_short8_rtnDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z18convert_short8_rtnDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z22_cl_convert_short8_rtnDv8_m(<8 x i64> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z23_cl_convert_short16_rtnDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z19convert_short16_rtnDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z23_cl_convert_short16_rtnDv16_m(<16 x i64> %a)
  ret <16 x i16> %call
}


declare i16 @_Z21_cl_convert_short_rtem(i64) local_unnamed_addr #0

define spir_func  signext i16 @_Z17convert_short_rtem(i64 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z21_cl_convert_short_rtem(i64 %a)
  ret i16 %call
}


declare <2 x i16> @_Z22_cl_convert_short2_rteDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z18convert_short2_rteDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z22_cl_convert_short2_rteDv2_m(<2 x i64> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z22_cl_convert_short3_rteDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z18convert_short3_rteDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z22_cl_convert_short3_rteDv3_m(<3 x i64> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z22_cl_convert_short4_rteDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z18convert_short4_rteDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z22_cl_convert_short4_rteDv4_m(<4 x i64> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z22_cl_convert_short8_rteDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z18convert_short8_rteDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z22_cl_convert_short8_rteDv8_m(<8 x i64> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z23_cl_convert_short16_rteDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z19convert_short16_rteDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z23_cl_convert_short16_rteDv16_m(<16 x i64> %a)
  ret <16 x i16> %call
}


declare i16 @_Z21_cl_convert_short_rtzm(i64) local_unnamed_addr #0

define spir_func  signext i16 @_Z17convert_short_rtzm(i64 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z21_cl_convert_short_rtzm(i64 %a)
  ret i16 %call
}


declare <2 x i16> @_Z22_cl_convert_short2_rtzDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z18convert_short2_rtzDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z22_cl_convert_short2_rtzDv2_m(<2 x i64> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z22_cl_convert_short3_rtzDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z18convert_short3_rtzDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z22_cl_convert_short3_rtzDv3_m(<3 x i64> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z22_cl_convert_short4_rtzDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z18convert_short4_rtzDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z22_cl_convert_short4_rtzDv4_m(<4 x i64> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z22_cl_convert_short8_rtzDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z18convert_short8_rtzDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z22_cl_convert_short8_rtzDv8_m(<8 x i64> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z23_cl_convert_short16_rtzDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z19convert_short16_rtzDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z23_cl_convert_short16_rtzDv16_m(<16 x i64> %a)
  ret <16 x i16> %call
}


declare i16 @_Z21_cl_convert_short_satm(i64) local_unnamed_addr #0

define spir_func  signext i16 @_Z17convert_short_satm(i64 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z21_cl_convert_short_satm(i64 %a)
  ret i16 %call
}


declare <2 x i16> @_Z22_cl_convert_short2_satDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z18convert_short2_satDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z22_cl_convert_short2_satDv2_m(<2 x i64> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z22_cl_convert_short3_satDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z18convert_short3_satDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z22_cl_convert_short3_satDv3_m(<3 x i64> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z22_cl_convert_short4_satDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z18convert_short4_satDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z22_cl_convert_short4_satDv4_m(<4 x i64> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z22_cl_convert_short8_satDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z18convert_short8_satDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z22_cl_convert_short8_satDv8_m(<8 x i64> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z23_cl_convert_short16_satDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z19convert_short16_satDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z23_cl_convert_short16_satDv16_m(<16 x i64> %a)
  ret <16 x i16> %call
}


declare i16 @_Z25_cl_convert_short_sat_rtpm(i64) local_unnamed_addr #0

define spir_func  signext i16 @_Z21convert_short_sat_rtpm(i64 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z25_cl_convert_short_sat_rtpm(i64 %a)
  ret i16 %call
}


declare <2 x i16> @_Z26_cl_convert_short2_sat_rtpDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z22convert_short2_sat_rtpDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z26_cl_convert_short2_sat_rtpDv2_m(<2 x i64> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z26_cl_convert_short3_sat_rtpDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z22convert_short3_sat_rtpDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z26_cl_convert_short3_sat_rtpDv3_m(<3 x i64> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z26_cl_convert_short4_sat_rtpDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z22convert_short4_sat_rtpDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z26_cl_convert_short4_sat_rtpDv4_m(<4 x i64> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z26_cl_convert_short8_sat_rtpDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z22convert_short8_sat_rtpDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z26_cl_convert_short8_sat_rtpDv8_m(<8 x i64> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z27_cl_convert_short16_sat_rtpDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z23convert_short16_sat_rtpDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z27_cl_convert_short16_sat_rtpDv16_m(<16 x i64> %a)
  ret <16 x i16> %call
}


declare i16 @_Z25_cl_convert_short_sat_rtnm(i64) local_unnamed_addr #0

define spir_func  signext i16 @_Z21convert_short_sat_rtnm(i64 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z25_cl_convert_short_sat_rtnm(i64 %a)
  ret i16 %call
}


declare <2 x i16> @_Z26_cl_convert_short2_sat_rtnDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z22convert_short2_sat_rtnDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z26_cl_convert_short2_sat_rtnDv2_m(<2 x i64> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z26_cl_convert_short3_sat_rtnDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z22convert_short3_sat_rtnDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z26_cl_convert_short3_sat_rtnDv3_m(<3 x i64> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z26_cl_convert_short4_sat_rtnDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z22convert_short4_sat_rtnDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z26_cl_convert_short4_sat_rtnDv4_m(<4 x i64> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z26_cl_convert_short8_sat_rtnDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z22convert_short8_sat_rtnDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z26_cl_convert_short8_sat_rtnDv8_m(<8 x i64> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z27_cl_convert_short16_sat_rtnDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z23convert_short16_sat_rtnDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z27_cl_convert_short16_sat_rtnDv16_m(<16 x i64> %a)
  ret <16 x i16> %call
}


declare i16 @_Z25_cl_convert_short_sat_rtem(i64) local_unnamed_addr #0

define spir_func  signext i16 @_Z21convert_short_sat_rtem(i64 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z25_cl_convert_short_sat_rtem(i64 %a)
  ret i16 %call
}


declare <2 x i16> @_Z26_cl_convert_short2_sat_rteDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z22convert_short2_sat_rteDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z26_cl_convert_short2_sat_rteDv2_m(<2 x i64> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z26_cl_convert_short3_sat_rteDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z22convert_short3_sat_rteDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z26_cl_convert_short3_sat_rteDv3_m(<3 x i64> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z26_cl_convert_short4_sat_rteDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z22convert_short4_sat_rteDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z26_cl_convert_short4_sat_rteDv4_m(<4 x i64> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z26_cl_convert_short8_sat_rteDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z22convert_short8_sat_rteDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z26_cl_convert_short8_sat_rteDv8_m(<8 x i64> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z27_cl_convert_short16_sat_rteDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z23convert_short16_sat_rteDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z27_cl_convert_short16_sat_rteDv16_m(<16 x i64> %a)
  ret <16 x i16> %call
}


declare i16 @_Z25_cl_convert_short_sat_rtzm(i64) local_unnamed_addr #0

define spir_func  signext i16 @_Z21convert_short_sat_rtzm(i64 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z25_cl_convert_short_sat_rtzm(i64 %a)
  ret i16 %call
}


declare <2 x i16> @_Z26_cl_convert_short2_sat_rtzDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z22convert_short2_sat_rtzDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z26_cl_convert_short2_sat_rtzDv2_m(<2 x i64> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z26_cl_convert_short3_sat_rtzDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z22convert_short3_sat_rtzDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z26_cl_convert_short3_sat_rtzDv3_m(<3 x i64> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z26_cl_convert_short4_sat_rtzDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z22convert_short4_sat_rtzDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z26_cl_convert_short4_sat_rtzDv4_m(<4 x i64> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z26_cl_convert_short8_sat_rtzDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z22convert_short8_sat_rtzDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z26_cl_convert_short8_sat_rtzDv8_m(<8 x i64> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z27_cl_convert_short16_sat_rtzDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z23convert_short16_sat_rtzDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z27_cl_convert_short16_sat_rtzDv16_m(<16 x i64> %a)
  ret <16 x i16> %call
}


declare i16 @_Z17_cl_convert_shortf(float) local_unnamed_addr #0

define spir_func  signext i16 @_Z13convert_shortf(float %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z17_cl_convert_shortf(float %a)
  ret i16 %call
}


declare <2 x i16> @_Z18_cl_convert_short2Dv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z14convert_short2Dv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z18_cl_convert_short2Dv2_f(<2 x float> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z18_cl_convert_short3Dv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z14convert_short3Dv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z18_cl_convert_short3Dv3_f(<3 x float> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z18_cl_convert_short4Dv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z14convert_short4Dv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z18_cl_convert_short4Dv4_f(<4 x float> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z18_cl_convert_short8Dv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z14convert_short8Dv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z18_cl_convert_short8Dv8_f(<8 x float> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z19_cl_convert_short16Dv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z15convert_short16Dv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z19_cl_convert_short16Dv16_f(<16 x float> %a)
  ret <16 x i16> %call
}


declare i16 @_Z21_cl_convert_short_rtpf(float) local_unnamed_addr #0

define spir_func  signext i16 @_Z17convert_short_rtpf(float %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z21_cl_convert_short_rtpf(float %a)
  ret i16 %call
}


declare <2 x i16> @_Z22_cl_convert_short2_rtpDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z18convert_short2_rtpDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z22_cl_convert_short2_rtpDv2_f(<2 x float> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z22_cl_convert_short3_rtpDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z18convert_short3_rtpDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z22_cl_convert_short3_rtpDv3_f(<3 x float> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z22_cl_convert_short4_rtpDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z18convert_short4_rtpDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z22_cl_convert_short4_rtpDv4_f(<4 x float> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z22_cl_convert_short8_rtpDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z18convert_short8_rtpDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z22_cl_convert_short8_rtpDv8_f(<8 x float> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z23_cl_convert_short16_rtpDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z19convert_short16_rtpDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z23_cl_convert_short16_rtpDv16_f(<16 x float> %a)
  ret <16 x i16> %call
}


declare i16 @_Z21_cl_convert_short_rtnf(float) local_unnamed_addr #0

define spir_func  signext i16 @_Z17convert_short_rtnf(float %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z21_cl_convert_short_rtnf(float %a)
  ret i16 %call
}


declare <2 x i16> @_Z22_cl_convert_short2_rtnDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z18convert_short2_rtnDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z22_cl_convert_short2_rtnDv2_f(<2 x float> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z22_cl_convert_short3_rtnDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z18convert_short3_rtnDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z22_cl_convert_short3_rtnDv3_f(<3 x float> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z22_cl_convert_short4_rtnDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z18convert_short4_rtnDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z22_cl_convert_short4_rtnDv4_f(<4 x float> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z22_cl_convert_short8_rtnDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z18convert_short8_rtnDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z22_cl_convert_short8_rtnDv8_f(<8 x float> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z23_cl_convert_short16_rtnDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z19convert_short16_rtnDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z23_cl_convert_short16_rtnDv16_f(<16 x float> %a)
  ret <16 x i16> %call
}


declare i16 @_Z21_cl_convert_short_rtef(float) local_unnamed_addr #0

define spir_func  signext i16 @_Z17convert_short_rtef(float %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z21_cl_convert_short_rtef(float %a)
  ret i16 %call
}


declare <2 x i16> @_Z22_cl_convert_short2_rteDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z18convert_short2_rteDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z22_cl_convert_short2_rteDv2_f(<2 x float> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z22_cl_convert_short3_rteDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z18convert_short3_rteDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z22_cl_convert_short3_rteDv3_f(<3 x float> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z22_cl_convert_short4_rteDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z18convert_short4_rteDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z22_cl_convert_short4_rteDv4_f(<4 x float> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z22_cl_convert_short8_rteDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z18convert_short8_rteDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z22_cl_convert_short8_rteDv8_f(<8 x float> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z23_cl_convert_short16_rteDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z19convert_short16_rteDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z23_cl_convert_short16_rteDv16_f(<16 x float> %a)
  ret <16 x i16> %call
}


declare i16 @_Z21_cl_convert_short_rtzf(float) local_unnamed_addr #0

define spir_func  signext i16 @_Z17convert_short_rtzf(float %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z21_cl_convert_short_rtzf(float %a)
  ret i16 %call
}


declare <2 x i16> @_Z22_cl_convert_short2_rtzDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z18convert_short2_rtzDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z22_cl_convert_short2_rtzDv2_f(<2 x float> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z22_cl_convert_short3_rtzDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z18convert_short3_rtzDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z22_cl_convert_short3_rtzDv3_f(<3 x float> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z22_cl_convert_short4_rtzDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z18convert_short4_rtzDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z22_cl_convert_short4_rtzDv4_f(<4 x float> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z22_cl_convert_short8_rtzDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z18convert_short8_rtzDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z22_cl_convert_short8_rtzDv8_f(<8 x float> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z23_cl_convert_short16_rtzDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z19convert_short16_rtzDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z23_cl_convert_short16_rtzDv16_f(<16 x float> %a)
  ret <16 x i16> %call
}


declare i16 @_Z21_cl_convert_short_satf(float) local_unnamed_addr #0

define spir_func  signext i16 @_Z17convert_short_satf(float %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z21_cl_convert_short_satf(float %a)
  ret i16 %call
}


declare <2 x i16> @_Z22_cl_convert_short2_satDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z18convert_short2_satDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z22_cl_convert_short2_satDv2_f(<2 x float> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z22_cl_convert_short3_satDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z18convert_short3_satDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z22_cl_convert_short3_satDv3_f(<3 x float> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z22_cl_convert_short4_satDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z18convert_short4_satDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z22_cl_convert_short4_satDv4_f(<4 x float> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z22_cl_convert_short8_satDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z18convert_short8_satDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z22_cl_convert_short8_satDv8_f(<8 x float> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z23_cl_convert_short16_satDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z19convert_short16_satDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z23_cl_convert_short16_satDv16_f(<16 x float> %a)
  ret <16 x i16> %call
}


declare i16 @_Z25_cl_convert_short_sat_rtpf(float) local_unnamed_addr #0

define spir_func  signext i16 @_Z21convert_short_sat_rtpf(float %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z25_cl_convert_short_sat_rtpf(float %a)
  ret i16 %call
}


declare <2 x i16> @_Z26_cl_convert_short2_sat_rtpDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z22convert_short2_sat_rtpDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z26_cl_convert_short2_sat_rtpDv2_f(<2 x float> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z26_cl_convert_short3_sat_rtpDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z22convert_short3_sat_rtpDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z26_cl_convert_short3_sat_rtpDv3_f(<3 x float> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z26_cl_convert_short4_sat_rtpDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z22convert_short4_sat_rtpDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z26_cl_convert_short4_sat_rtpDv4_f(<4 x float> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z26_cl_convert_short8_sat_rtpDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z22convert_short8_sat_rtpDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z26_cl_convert_short8_sat_rtpDv8_f(<8 x float> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z27_cl_convert_short16_sat_rtpDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z23convert_short16_sat_rtpDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z27_cl_convert_short16_sat_rtpDv16_f(<16 x float> %a)
  ret <16 x i16> %call
}


declare i16 @_Z25_cl_convert_short_sat_rtnf(float) local_unnamed_addr #0

define spir_func  signext i16 @_Z21convert_short_sat_rtnf(float %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z25_cl_convert_short_sat_rtnf(float %a)
  ret i16 %call
}


declare <2 x i16> @_Z26_cl_convert_short2_sat_rtnDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z22convert_short2_sat_rtnDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z26_cl_convert_short2_sat_rtnDv2_f(<2 x float> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z26_cl_convert_short3_sat_rtnDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z22convert_short3_sat_rtnDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z26_cl_convert_short3_sat_rtnDv3_f(<3 x float> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z26_cl_convert_short4_sat_rtnDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z22convert_short4_sat_rtnDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z26_cl_convert_short4_sat_rtnDv4_f(<4 x float> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z26_cl_convert_short8_sat_rtnDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z22convert_short8_sat_rtnDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z26_cl_convert_short8_sat_rtnDv8_f(<8 x float> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z27_cl_convert_short16_sat_rtnDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z23convert_short16_sat_rtnDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z27_cl_convert_short16_sat_rtnDv16_f(<16 x float> %a)
  ret <16 x i16> %call
}


declare i16 @_Z25_cl_convert_short_sat_rtef(float) local_unnamed_addr #0

define spir_func  signext i16 @_Z21convert_short_sat_rtef(float %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z25_cl_convert_short_sat_rtef(float %a)
  ret i16 %call
}


declare <2 x i16> @_Z26_cl_convert_short2_sat_rteDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z22convert_short2_sat_rteDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z26_cl_convert_short2_sat_rteDv2_f(<2 x float> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z26_cl_convert_short3_sat_rteDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z22convert_short3_sat_rteDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z26_cl_convert_short3_sat_rteDv3_f(<3 x float> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z26_cl_convert_short4_sat_rteDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z22convert_short4_sat_rteDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z26_cl_convert_short4_sat_rteDv4_f(<4 x float> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z26_cl_convert_short8_sat_rteDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z22convert_short8_sat_rteDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z26_cl_convert_short8_sat_rteDv8_f(<8 x float> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z27_cl_convert_short16_sat_rteDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z23convert_short16_sat_rteDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z27_cl_convert_short16_sat_rteDv16_f(<16 x float> %a)
  ret <16 x i16> %call
}


declare i16 @_Z25_cl_convert_short_sat_rtzf(float) local_unnamed_addr #0

define spir_func  signext i16 @_Z21convert_short_sat_rtzf(float %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z25_cl_convert_short_sat_rtzf(float %a)
  ret i16 %call
}


declare <2 x i16> @_Z26_cl_convert_short2_sat_rtzDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z22convert_short2_sat_rtzDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z26_cl_convert_short2_sat_rtzDv2_f(<2 x float> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z26_cl_convert_short3_sat_rtzDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z22convert_short3_sat_rtzDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z26_cl_convert_short3_sat_rtzDv3_f(<3 x float> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z26_cl_convert_short4_sat_rtzDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z22convert_short4_sat_rtzDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z26_cl_convert_short4_sat_rtzDv4_f(<4 x float> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z26_cl_convert_short8_sat_rtzDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z22convert_short8_sat_rtzDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z26_cl_convert_short8_sat_rtzDv8_f(<8 x float> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z27_cl_convert_short16_sat_rtzDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z23convert_short16_sat_rtzDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z27_cl_convert_short16_sat_rtzDv16_f(<16 x float> %a)
  ret <16 x i16> %call
}


declare i16 @_Z17_cl_convert_shortd(double) local_unnamed_addr #0

define spir_func  signext i16 @_Z13convert_shortd(double %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z17_cl_convert_shortd(double %a)
  ret i16 %call
}


declare <2 x i16> @_Z18_cl_convert_short2Dv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z14convert_short2Dv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z18_cl_convert_short2Dv2_d(<2 x double> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z18_cl_convert_short3Dv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z14convert_short3Dv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z18_cl_convert_short3Dv3_d(<3 x double> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z18_cl_convert_short4Dv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z14convert_short4Dv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z18_cl_convert_short4Dv4_d(<4 x double> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z18_cl_convert_short8Dv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z14convert_short8Dv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z18_cl_convert_short8Dv8_d(<8 x double> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z19_cl_convert_short16Dv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z15convert_short16Dv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z19_cl_convert_short16Dv16_d(<16 x double> %a)
  ret <16 x i16> %call
}


declare i16 @_Z21_cl_convert_short_rtpd(double) local_unnamed_addr #0

define spir_func  signext i16 @_Z17convert_short_rtpd(double %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z21_cl_convert_short_rtpd(double %a)
  ret i16 %call
}


declare <2 x i16> @_Z22_cl_convert_short2_rtpDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z18convert_short2_rtpDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z22_cl_convert_short2_rtpDv2_d(<2 x double> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z22_cl_convert_short3_rtpDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z18convert_short3_rtpDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z22_cl_convert_short3_rtpDv3_d(<3 x double> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z22_cl_convert_short4_rtpDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z18convert_short4_rtpDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z22_cl_convert_short4_rtpDv4_d(<4 x double> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z22_cl_convert_short8_rtpDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z18convert_short8_rtpDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z22_cl_convert_short8_rtpDv8_d(<8 x double> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z23_cl_convert_short16_rtpDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z19convert_short16_rtpDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z23_cl_convert_short16_rtpDv16_d(<16 x double> %a)
  ret <16 x i16> %call
}


declare i16 @_Z21_cl_convert_short_rtnd(double) local_unnamed_addr #0

define spir_func  signext i16 @_Z17convert_short_rtnd(double %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z21_cl_convert_short_rtnd(double %a)
  ret i16 %call
}


declare <2 x i16> @_Z22_cl_convert_short2_rtnDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z18convert_short2_rtnDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z22_cl_convert_short2_rtnDv2_d(<2 x double> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z22_cl_convert_short3_rtnDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z18convert_short3_rtnDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z22_cl_convert_short3_rtnDv3_d(<3 x double> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z22_cl_convert_short4_rtnDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z18convert_short4_rtnDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z22_cl_convert_short4_rtnDv4_d(<4 x double> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z22_cl_convert_short8_rtnDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z18convert_short8_rtnDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z22_cl_convert_short8_rtnDv8_d(<8 x double> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z23_cl_convert_short16_rtnDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z19convert_short16_rtnDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z23_cl_convert_short16_rtnDv16_d(<16 x double> %a)
  ret <16 x i16> %call
}


declare i16 @_Z21_cl_convert_short_rted(double) local_unnamed_addr #0

define spir_func  signext i16 @_Z17convert_short_rted(double %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z21_cl_convert_short_rted(double %a)
  ret i16 %call
}


declare <2 x i16> @_Z22_cl_convert_short2_rteDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z18convert_short2_rteDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z22_cl_convert_short2_rteDv2_d(<2 x double> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z22_cl_convert_short3_rteDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z18convert_short3_rteDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z22_cl_convert_short3_rteDv3_d(<3 x double> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z22_cl_convert_short4_rteDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z18convert_short4_rteDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z22_cl_convert_short4_rteDv4_d(<4 x double> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z22_cl_convert_short8_rteDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z18convert_short8_rteDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z22_cl_convert_short8_rteDv8_d(<8 x double> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z23_cl_convert_short16_rteDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z19convert_short16_rteDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z23_cl_convert_short16_rteDv16_d(<16 x double> %a)
  ret <16 x i16> %call
}


declare i16 @_Z21_cl_convert_short_rtzd(double) local_unnamed_addr #0

define spir_func  signext i16 @_Z17convert_short_rtzd(double %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z21_cl_convert_short_rtzd(double %a)
  ret i16 %call
}


declare <2 x i16> @_Z22_cl_convert_short2_rtzDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z18convert_short2_rtzDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z22_cl_convert_short2_rtzDv2_d(<2 x double> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z22_cl_convert_short3_rtzDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z18convert_short3_rtzDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z22_cl_convert_short3_rtzDv3_d(<3 x double> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z22_cl_convert_short4_rtzDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z18convert_short4_rtzDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z22_cl_convert_short4_rtzDv4_d(<4 x double> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z22_cl_convert_short8_rtzDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z18convert_short8_rtzDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z22_cl_convert_short8_rtzDv8_d(<8 x double> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z23_cl_convert_short16_rtzDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z19convert_short16_rtzDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z23_cl_convert_short16_rtzDv16_d(<16 x double> %a)
  ret <16 x i16> %call
}


declare i16 @_Z21_cl_convert_short_satd(double) local_unnamed_addr #0

define spir_func  signext i16 @_Z17convert_short_satd(double %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z21_cl_convert_short_satd(double %a)
  ret i16 %call
}


declare <2 x i16> @_Z22_cl_convert_short2_satDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z18convert_short2_satDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z22_cl_convert_short2_satDv2_d(<2 x double> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z22_cl_convert_short3_satDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z18convert_short3_satDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z22_cl_convert_short3_satDv3_d(<3 x double> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z22_cl_convert_short4_satDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z18convert_short4_satDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z22_cl_convert_short4_satDv4_d(<4 x double> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z22_cl_convert_short8_satDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z18convert_short8_satDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z22_cl_convert_short8_satDv8_d(<8 x double> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z23_cl_convert_short16_satDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z19convert_short16_satDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z23_cl_convert_short16_satDv16_d(<16 x double> %a)
  ret <16 x i16> %call
}


declare i16 @_Z25_cl_convert_short_sat_rtpd(double) local_unnamed_addr #0

define spir_func  signext i16 @_Z21convert_short_sat_rtpd(double %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z25_cl_convert_short_sat_rtpd(double %a)
  ret i16 %call
}


declare <2 x i16> @_Z26_cl_convert_short2_sat_rtpDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z22convert_short2_sat_rtpDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z26_cl_convert_short2_sat_rtpDv2_d(<2 x double> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z26_cl_convert_short3_sat_rtpDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z22convert_short3_sat_rtpDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z26_cl_convert_short3_sat_rtpDv3_d(<3 x double> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z26_cl_convert_short4_sat_rtpDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z22convert_short4_sat_rtpDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z26_cl_convert_short4_sat_rtpDv4_d(<4 x double> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z26_cl_convert_short8_sat_rtpDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z22convert_short8_sat_rtpDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z26_cl_convert_short8_sat_rtpDv8_d(<8 x double> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z27_cl_convert_short16_sat_rtpDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z23convert_short16_sat_rtpDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z27_cl_convert_short16_sat_rtpDv16_d(<16 x double> %a)
  ret <16 x i16> %call
}


declare i16 @_Z25_cl_convert_short_sat_rtnd(double) local_unnamed_addr #0

define spir_func  signext i16 @_Z21convert_short_sat_rtnd(double %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z25_cl_convert_short_sat_rtnd(double %a)
  ret i16 %call
}


declare <2 x i16> @_Z26_cl_convert_short2_sat_rtnDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z22convert_short2_sat_rtnDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z26_cl_convert_short2_sat_rtnDv2_d(<2 x double> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z26_cl_convert_short3_sat_rtnDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z22convert_short3_sat_rtnDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z26_cl_convert_short3_sat_rtnDv3_d(<3 x double> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z26_cl_convert_short4_sat_rtnDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z22convert_short4_sat_rtnDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z26_cl_convert_short4_sat_rtnDv4_d(<4 x double> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z26_cl_convert_short8_sat_rtnDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z22convert_short8_sat_rtnDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z26_cl_convert_short8_sat_rtnDv8_d(<8 x double> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z27_cl_convert_short16_sat_rtnDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z23convert_short16_sat_rtnDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z27_cl_convert_short16_sat_rtnDv16_d(<16 x double> %a)
  ret <16 x i16> %call
}


declare i16 @_Z25_cl_convert_short_sat_rted(double) local_unnamed_addr #0

define spir_func  signext i16 @_Z21convert_short_sat_rted(double %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z25_cl_convert_short_sat_rted(double %a)
  ret i16 %call
}


declare <2 x i16> @_Z26_cl_convert_short2_sat_rteDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z22convert_short2_sat_rteDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z26_cl_convert_short2_sat_rteDv2_d(<2 x double> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z26_cl_convert_short3_sat_rteDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z22convert_short3_sat_rteDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z26_cl_convert_short3_sat_rteDv3_d(<3 x double> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z26_cl_convert_short4_sat_rteDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z22convert_short4_sat_rteDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z26_cl_convert_short4_sat_rteDv4_d(<4 x double> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z26_cl_convert_short8_sat_rteDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z22convert_short8_sat_rteDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z26_cl_convert_short8_sat_rteDv8_d(<8 x double> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z27_cl_convert_short16_sat_rteDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z23convert_short16_sat_rteDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z27_cl_convert_short16_sat_rteDv16_d(<16 x double> %a)
  ret <16 x i16> %call
}


declare i16 @_Z25_cl_convert_short_sat_rtzd(double) local_unnamed_addr #0

define spir_func  signext i16 @_Z21convert_short_sat_rtzd(double %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z25_cl_convert_short_sat_rtzd(double %a)
  ret i16 %call
}


declare <2 x i16> @_Z26_cl_convert_short2_sat_rtzDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z22convert_short2_sat_rtzDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z26_cl_convert_short2_sat_rtzDv2_d(<2 x double> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z26_cl_convert_short3_sat_rtzDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z22convert_short3_sat_rtzDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z26_cl_convert_short3_sat_rtzDv3_d(<3 x double> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z26_cl_convert_short4_sat_rtzDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z22convert_short4_sat_rtzDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z26_cl_convert_short4_sat_rtzDv4_d(<4 x double> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z26_cl_convert_short8_sat_rtzDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z22convert_short8_sat_rtzDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z26_cl_convert_short8_sat_rtzDv8_d(<8 x double> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z27_cl_convert_short16_sat_rtzDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z23convert_short16_sat_rtzDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z27_cl_convert_short16_sat_rtzDv16_d(<16 x double> %a)
  ret <16 x i16> %call
}


declare i16 @_Z18_cl_convert_ushortc(i8) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z14convert_ushortc(i8 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z18_cl_convert_ushortc(i8 %a)
  ret i16 %call
}


declare <2 x i16> @_Z19_cl_convert_ushort2Dv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z15convert_ushort2Dv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z19_cl_convert_ushort2Dv2_c(<2 x i8> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z19_cl_convert_ushort3Dv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z15convert_ushort3Dv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z19_cl_convert_ushort3Dv3_c(<3 x i8> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z19_cl_convert_ushort4Dv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z15convert_ushort4Dv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z19_cl_convert_ushort4Dv4_c(<4 x i8> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z19_cl_convert_ushort8Dv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z15convert_ushort8Dv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z19_cl_convert_ushort8Dv8_c(<8 x i8> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z20_cl_convert_ushort16Dv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z16convert_ushort16Dv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z20_cl_convert_ushort16Dv16_c(<16 x i8> %a)
  ret <16 x i16> %call
}


declare i16 @_Z22_cl_convert_ushort_rtpc(i8) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z18convert_ushort_rtpc(i8 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z22_cl_convert_ushort_rtpc(i8 %a)
  ret i16 %call
}


declare <2 x i16> @_Z23_cl_convert_ushort2_rtpDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z19convert_ushort2_rtpDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z23_cl_convert_ushort2_rtpDv2_c(<2 x i8> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z23_cl_convert_ushort3_rtpDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z19convert_ushort3_rtpDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z23_cl_convert_ushort3_rtpDv3_c(<3 x i8> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z23_cl_convert_ushort4_rtpDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z19convert_ushort4_rtpDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z23_cl_convert_ushort4_rtpDv4_c(<4 x i8> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z23_cl_convert_ushort8_rtpDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z19convert_ushort8_rtpDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z23_cl_convert_ushort8_rtpDv8_c(<8 x i8> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z24_cl_convert_ushort16_rtpDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z20convert_ushort16_rtpDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z24_cl_convert_ushort16_rtpDv16_c(<16 x i8> %a)
  ret <16 x i16> %call
}


declare i16 @_Z22_cl_convert_ushort_rtnc(i8) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z18convert_ushort_rtnc(i8 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z22_cl_convert_ushort_rtnc(i8 %a)
  ret i16 %call
}


declare <2 x i16> @_Z23_cl_convert_ushort2_rtnDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z19convert_ushort2_rtnDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z23_cl_convert_ushort2_rtnDv2_c(<2 x i8> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z23_cl_convert_ushort3_rtnDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z19convert_ushort3_rtnDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z23_cl_convert_ushort3_rtnDv3_c(<3 x i8> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z23_cl_convert_ushort4_rtnDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z19convert_ushort4_rtnDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z23_cl_convert_ushort4_rtnDv4_c(<4 x i8> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z23_cl_convert_ushort8_rtnDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z19convert_ushort8_rtnDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z23_cl_convert_ushort8_rtnDv8_c(<8 x i8> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z24_cl_convert_ushort16_rtnDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z20convert_ushort16_rtnDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z24_cl_convert_ushort16_rtnDv16_c(<16 x i8> %a)
  ret <16 x i16> %call
}


declare i16 @_Z22_cl_convert_ushort_rtec(i8) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z18convert_ushort_rtec(i8 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z22_cl_convert_ushort_rtec(i8 %a)
  ret i16 %call
}


declare <2 x i16> @_Z23_cl_convert_ushort2_rteDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z19convert_ushort2_rteDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z23_cl_convert_ushort2_rteDv2_c(<2 x i8> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z23_cl_convert_ushort3_rteDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z19convert_ushort3_rteDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z23_cl_convert_ushort3_rteDv3_c(<3 x i8> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z23_cl_convert_ushort4_rteDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z19convert_ushort4_rteDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z23_cl_convert_ushort4_rteDv4_c(<4 x i8> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z23_cl_convert_ushort8_rteDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z19convert_ushort8_rteDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z23_cl_convert_ushort8_rteDv8_c(<8 x i8> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z24_cl_convert_ushort16_rteDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z20convert_ushort16_rteDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z24_cl_convert_ushort16_rteDv16_c(<16 x i8> %a)
  ret <16 x i16> %call
}


declare i16 @_Z22_cl_convert_ushort_rtzc(i8) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z18convert_ushort_rtzc(i8 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z22_cl_convert_ushort_rtzc(i8 %a)
  ret i16 %call
}


declare <2 x i16> @_Z23_cl_convert_ushort2_rtzDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z19convert_ushort2_rtzDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z23_cl_convert_ushort2_rtzDv2_c(<2 x i8> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z23_cl_convert_ushort3_rtzDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z19convert_ushort3_rtzDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z23_cl_convert_ushort3_rtzDv3_c(<3 x i8> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z23_cl_convert_ushort4_rtzDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z19convert_ushort4_rtzDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z23_cl_convert_ushort4_rtzDv4_c(<4 x i8> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z23_cl_convert_ushort8_rtzDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z19convert_ushort8_rtzDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z23_cl_convert_ushort8_rtzDv8_c(<8 x i8> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z24_cl_convert_ushort16_rtzDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z20convert_ushort16_rtzDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z24_cl_convert_ushort16_rtzDv16_c(<16 x i8> %a)
  ret <16 x i16> %call
}


declare i16 @_Z22_cl_convert_ushort_satc(i8) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z18convert_ushort_satc(i8 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z22_cl_convert_ushort_satc(i8 %a)
  ret i16 %call
}


declare <2 x i16> @_Z23_cl_convert_ushort2_satDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z19convert_ushort2_satDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z23_cl_convert_ushort2_satDv2_c(<2 x i8> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z23_cl_convert_ushort3_satDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z19convert_ushort3_satDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z23_cl_convert_ushort3_satDv3_c(<3 x i8> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z23_cl_convert_ushort4_satDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z19convert_ushort4_satDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z23_cl_convert_ushort4_satDv4_c(<4 x i8> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z23_cl_convert_ushort8_satDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z19convert_ushort8_satDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z23_cl_convert_ushort8_satDv8_c(<8 x i8> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z24_cl_convert_ushort16_satDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z20convert_ushort16_satDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z24_cl_convert_ushort16_satDv16_c(<16 x i8> %a)
  ret <16 x i16> %call
}


declare i16 @_Z26_cl_convert_ushort_sat_rtpc(i8) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z22convert_ushort_sat_rtpc(i8 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z26_cl_convert_ushort_sat_rtpc(i8 %a)
  ret i16 %call
}


declare <2 x i16> @_Z27_cl_convert_ushort2_sat_rtpDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z23convert_ushort2_sat_rtpDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z27_cl_convert_ushort2_sat_rtpDv2_c(<2 x i8> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z27_cl_convert_ushort3_sat_rtpDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z23convert_ushort3_sat_rtpDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z27_cl_convert_ushort3_sat_rtpDv3_c(<3 x i8> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z27_cl_convert_ushort4_sat_rtpDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z23convert_ushort4_sat_rtpDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z27_cl_convert_ushort4_sat_rtpDv4_c(<4 x i8> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z27_cl_convert_ushort8_sat_rtpDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z23convert_ushort8_sat_rtpDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z27_cl_convert_ushort8_sat_rtpDv8_c(<8 x i8> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z28_cl_convert_ushort16_sat_rtpDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z24convert_ushort16_sat_rtpDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z28_cl_convert_ushort16_sat_rtpDv16_c(<16 x i8> %a)
  ret <16 x i16> %call
}


declare i16 @_Z26_cl_convert_ushort_sat_rtnc(i8) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z22convert_ushort_sat_rtnc(i8 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z26_cl_convert_ushort_sat_rtnc(i8 %a)
  ret i16 %call
}


declare <2 x i16> @_Z27_cl_convert_ushort2_sat_rtnDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z23convert_ushort2_sat_rtnDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z27_cl_convert_ushort2_sat_rtnDv2_c(<2 x i8> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z27_cl_convert_ushort3_sat_rtnDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z23convert_ushort3_sat_rtnDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z27_cl_convert_ushort3_sat_rtnDv3_c(<3 x i8> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z27_cl_convert_ushort4_sat_rtnDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z23convert_ushort4_sat_rtnDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z27_cl_convert_ushort4_sat_rtnDv4_c(<4 x i8> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z27_cl_convert_ushort8_sat_rtnDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z23convert_ushort8_sat_rtnDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z27_cl_convert_ushort8_sat_rtnDv8_c(<8 x i8> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z28_cl_convert_ushort16_sat_rtnDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z24convert_ushort16_sat_rtnDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z28_cl_convert_ushort16_sat_rtnDv16_c(<16 x i8> %a)
  ret <16 x i16> %call
}


declare i16 @_Z26_cl_convert_ushort_sat_rtec(i8) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z22convert_ushort_sat_rtec(i8 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z26_cl_convert_ushort_sat_rtec(i8 %a)
  ret i16 %call
}


declare <2 x i16> @_Z27_cl_convert_ushort2_sat_rteDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z23convert_ushort2_sat_rteDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z27_cl_convert_ushort2_sat_rteDv2_c(<2 x i8> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z27_cl_convert_ushort3_sat_rteDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z23convert_ushort3_sat_rteDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z27_cl_convert_ushort3_sat_rteDv3_c(<3 x i8> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z27_cl_convert_ushort4_sat_rteDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z23convert_ushort4_sat_rteDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z27_cl_convert_ushort4_sat_rteDv4_c(<4 x i8> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z27_cl_convert_ushort8_sat_rteDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z23convert_ushort8_sat_rteDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z27_cl_convert_ushort8_sat_rteDv8_c(<8 x i8> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z28_cl_convert_ushort16_sat_rteDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z24convert_ushort16_sat_rteDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z28_cl_convert_ushort16_sat_rteDv16_c(<16 x i8> %a)
  ret <16 x i16> %call
}


declare i16 @_Z26_cl_convert_ushort_sat_rtzc(i8) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z22convert_ushort_sat_rtzc(i8 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z26_cl_convert_ushort_sat_rtzc(i8 %a)
  ret i16 %call
}


declare <2 x i16> @_Z27_cl_convert_ushort2_sat_rtzDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z23convert_ushort2_sat_rtzDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z27_cl_convert_ushort2_sat_rtzDv2_c(<2 x i8> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z27_cl_convert_ushort3_sat_rtzDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z23convert_ushort3_sat_rtzDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z27_cl_convert_ushort3_sat_rtzDv3_c(<3 x i8> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z27_cl_convert_ushort4_sat_rtzDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z23convert_ushort4_sat_rtzDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z27_cl_convert_ushort4_sat_rtzDv4_c(<4 x i8> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z27_cl_convert_ushort8_sat_rtzDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z23convert_ushort8_sat_rtzDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z27_cl_convert_ushort8_sat_rtzDv8_c(<8 x i8> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z28_cl_convert_ushort16_sat_rtzDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z24convert_ushort16_sat_rtzDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z28_cl_convert_ushort16_sat_rtzDv16_c(<16 x i8> %a)
  ret <16 x i16> %call
}


declare i16 @_Z18_cl_convert_ushorth(i8) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z14convert_ushorth(i8 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z18_cl_convert_ushorth(i8 %a)
  ret i16 %call
}


declare <2 x i16> @_Z19_cl_convert_ushort2Dv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z15convert_ushort2Dv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z19_cl_convert_ushort2Dv2_h(<2 x i8> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z19_cl_convert_ushort3Dv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z15convert_ushort3Dv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z19_cl_convert_ushort3Dv3_h(<3 x i8> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z19_cl_convert_ushort4Dv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z15convert_ushort4Dv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z19_cl_convert_ushort4Dv4_h(<4 x i8> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z19_cl_convert_ushort8Dv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z15convert_ushort8Dv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z19_cl_convert_ushort8Dv8_h(<8 x i8> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z20_cl_convert_ushort16Dv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z16convert_ushort16Dv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z20_cl_convert_ushort16Dv16_h(<16 x i8> %a)
  ret <16 x i16> %call
}


declare i16 @_Z22_cl_convert_ushort_rtph(i8) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z18convert_ushort_rtph(i8 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z22_cl_convert_ushort_rtph(i8 %a)
  ret i16 %call
}


declare <2 x i16> @_Z23_cl_convert_ushort2_rtpDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z19convert_ushort2_rtpDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z23_cl_convert_ushort2_rtpDv2_h(<2 x i8> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z23_cl_convert_ushort3_rtpDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z19convert_ushort3_rtpDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z23_cl_convert_ushort3_rtpDv3_h(<3 x i8> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z23_cl_convert_ushort4_rtpDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z19convert_ushort4_rtpDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z23_cl_convert_ushort4_rtpDv4_h(<4 x i8> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z23_cl_convert_ushort8_rtpDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z19convert_ushort8_rtpDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z23_cl_convert_ushort8_rtpDv8_h(<8 x i8> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z24_cl_convert_ushort16_rtpDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z20convert_ushort16_rtpDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z24_cl_convert_ushort16_rtpDv16_h(<16 x i8> %a)
  ret <16 x i16> %call
}


declare i16 @_Z22_cl_convert_ushort_rtnh(i8) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z18convert_ushort_rtnh(i8 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z22_cl_convert_ushort_rtnh(i8 %a)
  ret i16 %call
}


declare <2 x i16> @_Z23_cl_convert_ushort2_rtnDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z19convert_ushort2_rtnDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z23_cl_convert_ushort2_rtnDv2_h(<2 x i8> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z23_cl_convert_ushort3_rtnDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z19convert_ushort3_rtnDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z23_cl_convert_ushort3_rtnDv3_h(<3 x i8> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z23_cl_convert_ushort4_rtnDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z19convert_ushort4_rtnDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z23_cl_convert_ushort4_rtnDv4_h(<4 x i8> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z23_cl_convert_ushort8_rtnDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z19convert_ushort8_rtnDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z23_cl_convert_ushort8_rtnDv8_h(<8 x i8> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z24_cl_convert_ushort16_rtnDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z20convert_ushort16_rtnDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z24_cl_convert_ushort16_rtnDv16_h(<16 x i8> %a)
  ret <16 x i16> %call
}


declare i16 @_Z22_cl_convert_ushort_rteh(i8) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z18convert_ushort_rteh(i8 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z22_cl_convert_ushort_rteh(i8 %a)
  ret i16 %call
}


declare <2 x i16> @_Z23_cl_convert_ushort2_rteDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z19convert_ushort2_rteDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z23_cl_convert_ushort2_rteDv2_h(<2 x i8> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z23_cl_convert_ushort3_rteDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z19convert_ushort3_rteDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z23_cl_convert_ushort3_rteDv3_h(<3 x i8> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z23_cl_convert_ushort4_rteDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z19convert_ushort4_rteDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z23_cl_convert_ushort4_rteDv4_h(<4 x i8> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z23_cl_convert_ushort8_rteDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z19convert_ushort8_rteDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z23_cl_convert_ushort8_rteDv8_h(<8 x i8> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z24_cl_convert_ushort16_rteDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z20convert_ushort16_rteDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z24_cl_convert_ushort16_rteDv16_h(<16 x i8> %a)
  ret <16 x i16> %call
}


declare i16 @_Z22_cl_convert_ushort_rtzh(i8) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z18convert_ushort_rtzh(i8 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z22_cl_convert_ushort_rtzh(i8 %a)
  ret i16 %call
}


declare <2 x i16> @_Z23_cl_convert_ushort2_rtzDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z19convert_ushort2_rtzDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z23_cl_convert_ushort2_rtzDv2_h(<2 x i8> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z23_cl_convert_ushort3_rtzDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z19convert_ushort3_rtzDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z23_cl_convert_ushort3_rtzDv3_h(<3 x i8> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z23_cl_convert_ushort4_rtzDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z19convert_ushort4_rtzDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z23_cl_convert_ushort4_rtzDv4_h(<4 x i8> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z23_cl_convert_ushort8_rtzDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z19convert_ushort8_rtzDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z23_cl_convert_ushort8_rtzDv8_h(<8 x i8> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z24_cl_convert_ushort16_rtzDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z20convert_ushort16_rtzDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z24_cl_convert_ushort16_rtzDv16_h(<16 x i8> %a)
  ret <16 x i16> %call
}


declare i16 @_Z22_cl_convert_ushort_sath(i8) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z18convert_ushort_sath(i8 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z22_cl_convert_ushort_sath(i8 %a)
  ret i16 %call
}


declare <2 x i16> @_Z23_cl_convert_ushort2_satDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z19convert_ushort2_satDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z23_cl_convert_ushort2_satDv2_h(<2 x i8> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z23_cl_convert_ushort3_satDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z19convert_ushort3_satDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z23_cl_convert_ushort3_satDv3_h(<3 x i8> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z23_cl_convert_ushort4_satDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z19convert_ushort4_satDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z23_cl_convert_ushort4_satDv4_h(<4 x i8> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z23_cl_convert_ushort8_satDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z19convert_ushort8_satDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z23_cl_convert_ushort8_satDv8_h(<8 x i8> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z24_cl_convert_ushort16_satDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z20convert_ushort16_satDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z24_cl_convert_ushort16_satDv16_h(<16 x i8> %a)
  ret <16 x i16> %call
}


declare i16 @_Z26_cl_convert_ushort_sat_rtph(i8) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z22convert_ushort_sat_rtph(i8 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z26_cl_convert_ushort_sat_rtph(i8 %a)
  ret i16 %call
}


declare <2 x i16> @_Z27_cl_convert_ushort2_sat_rtpDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z23convert_ushort2_sat_rtpDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z27_cl_convert_ushort2_sat_rtpDv2_h(<2 x i8> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z27_cl_convert_ushort3_sat_rtpDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z23convert_ushort3_sat_rtpDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z27_cl_convert_ushort3_sat_rtpDv3_h(<3 x i8> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z27_cl_convert_ushort4_sat_rtpDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z23convert_ushort4_sat_rtpDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z27_cl_convert_ushort4_sat_rtpDv4_h(<4 x i8> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z27_cl_convert_ushort8_sat_rtpDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z23convert_ushort8_sat_rtpDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z27_cl_convert_ushort8_sat_rtpDv8_h(<8 x i8> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z28_cl_convert_ushort16_sat_rtpDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z24convert_ushort16_sat_rtpDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z28_cl_convert_ushort16_sat_rtpDv16_h(<16 x i8> %a)
  ret <16 x i16> %call
}


declare i16 @_Z26_cl_convert_ushort_sat_rtnh(i8) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z22convert_ushort_sat_rtnh(i8 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z26_cl_convert_ushort_sat_rtnh(i8 %a)
  ret i16 %call
}


declare <2 x i16> @_Z27_cl_convert_ushort2_sat_rtnDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z23convert_ushort2_sat_rtnDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z27_cl_convert_ushort2_sat_rtnDv2_h(<2 x i8> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z27_cl_convert_ushort3_sat_rtnDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z23convert_ushort3_sat_rtnDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z27_cl_convert_ushort3_sat_rtnDv3_h(<3 x i8> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z27_cl_convert_ushort4_sat_rtnDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z23convert_ushort4_sat_rtnDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z27_cl_convert_ushort4_sat_rtnDv4_h(<4 x i8> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z27_cl_convert_ushort8_sat_rtnDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z23convert_ushort8_sat_rtnDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z27_cl_convert_ushort8_sat_rtnDv8_h(<8 x i8> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z28_cl_convert_ushort16_sat_rtnDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z24convert_ushort16_sat_rtnDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z28_cl_convert_ushort16_sat_rtnDv16_h(<16 x i8> %a)
  ret <16 x i16> %call
}


declare i16 @_Z26_cl_convert_ushort_sat_rteh(i8) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z22convert_ushort_sat_rteh(i8 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z26_cl_convert_ushort_sat_rteh(i8 %a)
  ret i16 %call
}


declare <2 x i16> @_Z27_cl_convert_ushort2_sat_rteDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z23convert_ushort2_sat_rteDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z27_cl_convert_ushort2_sat_rteDv2_h(<2 x i8> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z27_cl_convert_ushort3_sat_rteDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z23convert_ushort3_sat_rteDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z27_cl_convert_ushort3_sat_rteDv3_h(<3 x i8> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z27_cl_convert_ushort4_sat_rteDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z23convert_ushort4_sat_rteDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z27_cl_convert_ushort4_sat_rteDv4_h(<4 x i8> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z27_cl_convert_ushort8_sat_rteDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z23convert_ushort8_sat_rteDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z27_cl_convert_ushort8_sat_rteDv8_h(<8 x i8> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z28_cl_convert_ushort16_sat_rteDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z24convert_ushort16_sat_rteDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z28_cl_convert_ushort16_sat_rteDv16_h(<16 x i8> %a)
  ret <16 x i16> %call
}


declare i16 @_Z26_cl_convert_ushort_sat_rtzh(i8) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z22convert_ushort_sat_rtzh(i8 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z26_cl_convert_ushort_sat_rtzh(i8 %a)
  ret i16 %call
}


declare <2 x i16> @_Z27_cl_convert_ushort2_sat_rtzDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z23convert_ushort2_sat_rtzDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z27_cl_convert_ushort2_sat_rtzDv2_h(<2 x i8> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z27_cl_convert_ushort3_sat_rtzDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z23convert_ushort3_sat_rtzDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z27_cl_convert_ushort3_sat_rtzDv3_h(<3 x i8> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z27_cl_convert_ushort4_sat_rtzDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z23convert_ushort4_sat_rtzDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z27_cl_convert_ushort4_sat_rtzDv4_h(<4 x i8> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z27_cl_convert_ushort8_sat_rtzDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z23convert_ushort8_sat_rtzDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z27_cl_convert_ushort8_sat_rtzDv8_h(<8 x i8> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z28_cl_convert_ushort16_sat_rtzDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z24convert_ushort16_sat_rtzDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z28_cl_convert_ushort16_sat_rtzDv16_h(<16 x i8> %a)
  ret <16 x i16> %call
}


declare i16 @_Z18_cl_convert_ushorts(i16) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z14convert_ushorts(i16 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z18_cl_convert_ushorts(i16 %a)
  ret i16 %call
}


declare <2 x i16> @_Z19_cl_convert_ushort2Dv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z15convert_ushort2Dv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z19_cl_convert_ushort2Dv2_s(<2 x i16> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z19_cl_convert_ushort3Dv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z15convert_ushort3Dv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z19_cl_convert_ushort3Dv3_s(<3 x i16> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z19_cl_convert_ushort4Dv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z15convert_ushort4Dv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z19_cl_convert_ushort4Dv4_s(<4 x i16> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z19_cl_convert_ushort8Dv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z15convert_ushort8Dv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z19_cl_convert_ushort8Dv8_s(<8 x i16> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z20_cl_convert_ushort16Dv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z16convert_ushort16Dv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z20_cl_convert_ushort16Dv16_s(<16 x i16> %a)
  ret <16 x i16> %call
}


declare i16 @_Z22_cl_convert_ushort_rtps(i16) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z18convert_ushort_rtps(i16 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z22_cl_convert_ushort_rtps(i16 %a)
  ret i16 %call
}


declare <2 x i16> @_Z23_cl_convert_ushort2_rtpDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z19convert_ushort2_rtpDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z23_cl_convert_ushort2_rtpDv2_s(<2 x i16> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z23_cl_convert_ushort3_rtpDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z19convert_ushort3_rtpDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z23_cl_convert_ushort3_rtpDv3_s(<3 x i16> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z23_cl_convert_ushort4_rtpDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z19convert_ushort4_rtpDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z23_cl_convert_ushort4_rtpDv4_s(<4 x i16> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z23_cl_convert_ushort8_rtpDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z19convert_ushort8_rtpDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z23_cl_convert_ushort8_rtpDv8_s(<8 x i16> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z24_cl_convert_ushort16_rtpDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z20convert_ushort16_rtpDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z24_cl_convert_ushort16_rtpDv16_s(<16 x i16> %a)
  ret <16 x i16> %call
}


declare i16 @_Z22_cl_convert_ushort_rtns(i16) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z18convert_ushort_rtns(i16 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z22_cl_convert_ushort_rtns(i16 %a)
  ret i16 %call
}


declare <2 x i16> @_Z23_cl_convert_ushort2_rtnDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z19convert_ushort2_rtnDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z23_cl_convert_ushort2_rtnDv2_s(<2 x i16> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z23_cl_convert_ushort3_rtnDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z19convert_ushort3_rtnDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z23_cl_convert_ushort3_rtnDv3_s(<3 x i16> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z23_cl_convert_ushort4_rtnDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z19convert_ushort4_rtnDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z23_cl_convert_ushort4_rtnDv4_s(<4 x i16> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z23_cl_convert_ushort8_rtnDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z19convert_ushort8_rtnDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z23_cl_convert_ushort8_rtnDv8_s(<8 x i16> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z24_cl_convert_ushort16_rtnDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z20convert_ushort16_rtnDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z24_cl_convert_ushort16_rtnDv16_s(<16 x i16> %a)
  ret <16 x i16> %call
}


declare i16 @_Z22_cl_convert_ushort_rtes(i16) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z18convert_ushort_rtes(i16 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z22_cl_convert_ushort_rtes(i16 %a)
  ret i16 %call
}


declare <2 x i16> @_Z23_cl_convert_ushort2_rteDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z19convert_ushort2_rteDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z23_cl_convert_ushort2_rteDv2_s(<2 x i16> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z23_cl_convert_ushort3_rteDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z19convert_ushort3_rteDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z23_cl_convert_ushort3_rteDv3_s(<3 x i16> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z23_cl_convert_ushort4_rteDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z19convert_ushort4_rteDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z23_cl_convert_ushort4_rteDv4_s(<4 x i16> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z23_cl_convert_ushort8_rteDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z19convert_ushort8_rteDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z23_cl_convert_ushort8_rteDv8_s(<8 x i16> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z24_cl_convert_ushort16_rteDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z20convert_ushort16_rteDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z24_cl_convert_ushort16_rteDv16_s(<16 x i16> %a)
  ret <16 x i16> %call
}


declare i16 @_Z22_cl_convert_ushort_rtzs(i16) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z18convert_ushort_rtzs(i16 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z22_cl_convert_ushort_rtzs(i16 %a)
  ret i16 %call
}


declare <2 x i16> @_Z23_cl_convert_ushort2_rtzDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z19convert_ushort2_rtzDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z23_cl_convert_ushort2_rtzDv2_s(<2 x i16> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z23_cl_convert_ushort3_rtzDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z19convert_ushort3_rtzDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z23_cl_convert_ushort3_rtzDv3_s(<3 x i16> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z23_cl_convert_ushort4_rtzDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z19convert_ushort4_rtzDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z23_cl_convert_ushort4_rtzDv4_s(<4 x i16> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z23_cl_convert_ushort8_rtzDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z19convert_ushort8_rtzDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z23_cl_convert_ushort8_rtzDv8_s(<8 x i16> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z24_cl_convert_ushort16_rtzDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z20convert_ushort16_rtzDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z24_cl_convert_ushort16_rtzDv16_s(<16 x i16> %a)
  ret <16 x i16> %call
}


declare i16 @_Z22_cl_convert_ushort_sats(i16) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z18convert_ushort_sats(i16 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z22_cl_convert_ushort_sats(i16 %a)
  ret i16 %call
}


declare <2 x i16> @_Z23_cl_convert_ushort2_satDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z19convert_ushort2_satDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z23_cl_convert_ushort2_satDv2_s(<2 x i16> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z23_cl_convert_ushort3_satDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z19convert_ushort3_satDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z23_cl_convert_ushort3_satDv3_s(<3 x i16> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z23_cl_convert_ushort4_satDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z19convert_ushort4_satDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z23_cl_convert_ushort4_satDv4_s(<4 x i16> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z23_cl_convert_ushort8_satDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z19convert_ushort8_satDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z23_cl_convert_ushort8_satDv8_s(<8 x i16> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z24_cl_convert_ushort16_satDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z20convert_ushort16_satDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z24_cl_convert_ushort16_satDv16_s(<16 x i16> %a)
  ret <16 x i16> %call
}


declare i16 @_Z26_cl_convert_ushort_sat_rtps(i16) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z22convert_ushort_sat_rtps(i16 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z26_cl_convert_ushort_sat_rtps(i16 %a)
  ret i16 %call
}


declare <2 x i16> @_Z27_cl_convert_ushort2_sat_rtpDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z23convert_ushort2_sat_rtpDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z27_cl_convert_ushort2_sat_rtpDv2_s(<2 x i16> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z27_cl_convert_ushort3_sat_rtpDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z23convert_ushort3_sat_rtpDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z27_cl_convert_ushort3_sat_rtpDv3_s(<3 x i16> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z27_cl_convert_ushort4_sat_rtpDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z23convert_ushort4_sat_rtpDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z27_cl_convert_ushort4_sat_rtpDv4_s(<4 x i16> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z27_cl_convert_ushort8_sat_rtpDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z23convert_ushort8_sat_rtpDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z27_cl_convert_ushort8_sat_rtpDv8_s(<8 x i16> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z28_cl_convert_ushort16_sat_rtpDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z24convert_ushort16_sat_rtpDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z28_cl_convert_ushort16_sat_rtpDv16_s(<16 x i16> %a)
  ret <16 x i16> %call
}


declare i16 @_Z26_cl_convert_ushort_sat_rtns(i16) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z22convert_ushort_sat_rtns(i16 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z26_cl_convert_ushort_sat_rtns(i16 %a)
  ret i16 %call
}


declare <2 x i16> @_Z27_cl_convert_ushort2_sat_rtnDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z23convert_ushort2_sat_rtnDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z27_cl_convert_ushort2_sat_rtnDv2_s(<2 x i16> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z27_cl_convert_ushort3_sat_rtnDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z23convert_ushort3_sat_rtnDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z27_cl_convert_ushort3_sat_rtnDv3_s(<3 x i16> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z27_cl_convert_ushort4_sat_rtnDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z23convert_ushort4_sat_rtnDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z27_cl_convert_ushort4_sat_rtnDv4_s(<4 x i16> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z27_cl_convert_ushort8_sat_rtnDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z23convert_ushort8_sat_rtnDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z27_cl_convert_ushort8_sat_rtnDv8_s(<8 x i16> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z28_cl_convert_ushort16_sat_rtnDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z24convert_ushort16_sat_rtnDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z28_cl_convert_ushort16_sat_rtnDv16_s(<16 x i16> %a)
  ret <16 x i16> %call
}


declare i16 @_Z26_cl_convert_ushort_sat_rtes(i16) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z22convert_ushort_sat_rtes(i16 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z26_cl_convert_ushort_sat_rtes(i16 %a)
  ret i16 %call
}


declare <2 x i16> @_Z27_cl_convert_ushort2_sat_rteDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z23convert_ushort2_sat_rteDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z27_cl_convert_ushort2_sat_rteDv2_s(<2 x i16> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z27_cl_convert_ushort3_sat_rteDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z23convert_ushort3_sat_rteDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z27_cl_convert_ushort3_sat_rteDv3_s(<3 x i16> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z27_cl_convert_ushort4_sat_rteDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z23convert_ushort4_sat_rteDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z27_cl_convert_ushort4_sat_rteDv4_s(<4 x i16> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z27_cl_convert_ushort8_sat_rteDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z23convert_ushort8_sat_rteDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z27_cl_convert_ushort8_sat_rteDv8_s(<8 x i16> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z28_cl_convert_ushort16_sat_rteDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z24convert_ushort16_sat_rteDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z28_cl_convert_ushort16_sat_rteDv16_s(<16 x i16> %a)
  ret <16 x i16> %call
}


declare i16 @_Z26_cl_convert_ushort_sat_rtzs(i16) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z22convert_ushort_sat_rtzs(i16 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z26_cl_convert_ushort_sat_rtzs(i16 %a)
  ret i16 %call
}


declare <2 x i16> @_Z27_cl_convert_ushort2_sat_rtzDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z23convert_ushort2_sat_rtzDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z27_cl_convert_ushort2_sat_rtzDv2_s(<2 x i16> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z27_cl_convert_ushort3_sat_rtzDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z23convert_ushort3_sat_rtzDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z27_cl_convert_ushort3_sat_rtzDv3_s(<3 x i16> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z27_cl_convert_ushort4_sat_rtzDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z23convert_ushort4_sat_rtzDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z27_cl_convert_ushort4_sat_rtzDv4_s(<4 x i16> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z27_cl_convert_ushort8_sat_rtzDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z23convert_ushort8_sat_rtzDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z27_cl_convert_ushort8_sat_rtzDv8_s(<8 x i16> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z28_cl_convert_ushort16_sat_rtzDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z24convert_ushort16_sat_rtzDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z28_cl_convert_ushort16_sat_rtzDv16_s(<16 x i16> %a)
  ret <16 x i16> %call
}


declare i16 @_Z18_cl_convert_ushortt(i16) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z14convert_ushortt(i16 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z18_cl_convert_ushortt(i16 %a)
  ret i16 %call
}


declare <2 x i16> @_Z19_cl_convert_ushort2Dv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z15convert_ushort2Dv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z19_cl_convert_ushort2Dv2_t(<2 x i16> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z19_cl_convert_ushort3Dv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z15convert_ushort3Dv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z19_cl_convert_ushort3Dv3_t(<3 x i16> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z19_cl_convert_ushort4Dv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z15convert_ushort4Dv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z19_cl_convert_ushort4Dv4_t(<4 x i16> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z19_cl_convert_ushort8Dv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z15convert_ushort8Dv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z19_cl_convert_ushort8Dv8_t(<8 x i16> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z20_cl_convert_ushort16Dv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z16convert_ushort16Dv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z20_cl_convert_ushort16Dv16_t(<16 x i16> %a)
  ret <16 x i16> %call
}


declare i16 @_Z22_cl_convert_ushort_rtpt(i16) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z18convert_ushort_rtpt(i16 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z22_cl_convert_ushort_rtpt(i16 %a)
  ret i16 %call
}


declare <2 x i16> @_Z23_cl_convert_ushort2_rtpDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z19convert_ushort2_rtpDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z23_cl_convert_ushort2_rtpDv2_t(<2 x i16> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z23_cl_convert_ushort3_rtpDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z19convert_ushort3_rtpDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z23_cl_convert_ushort3_rtpDv3_t(<3 x i16> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z23_cl_convert_ushort4_rtpDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z19convert_ushort4_rtpDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z23_cl_convert_ushort4_rtpDv4_t(<4 x i16> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z23_cl_convert_ushort8_rtpDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z19convert_ushort8_rtpDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z23_cl_convert_ushort8_rtpDv8_t(<8 x i16> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z24_cl_convert_ushort16_rtpDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z20convert_ushort16_rtpDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z24_cl_convert_ushort16_rtpDv16_t(<16 x i16> %a)
  ret <16 x i16> %call
}


declare i16 @_Z22_cl_convert_ushort_rtnt(i16) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z18convert_ushort_rtnt(i16 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z22_cl_convert_ushort_rtnt(i16 %a)
  ret i16 %call
}


declare <2 x i16> @_Z23_cl_convert_ushort2_rtnDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z19convert_ushort2_rtnDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z23_cl_convert_ushort2_rtnDv2_t(<2 x i16> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z23_cl_convert_ushort3_rtnDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z19convert_ushort3_rtnDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z23_cl_convert_ushort3_rtnDv3_t(<3 x i16> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z23_cl_convert_ushort4_rtnDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z19convert_ushort4_rtnDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z23_cl_convert_ushort4_rtnDv4_t(<4 x i16> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z23_cl_convert_ushort8_rtnDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z19convert_ushort8_rtnDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z23_cl_convert_ushort8_rtnDv8_t(<8 x i16> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z24_cl_convert_ushort16_rtnDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z20convert_ushort16_rtnDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z24_cl_convert_ushort16_rtnDv16_t(<16 x i16> %a)
  ret <16 x i16> %call
}


declare i16 @_Z22_cl_convert_ushort_rtet(i16) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z18convert_ushort_rtet(i16 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z22_cl_convert_ushort_rtet(i16 %a)
  ret i16 %call
}


declare <2 x i16> @_Z23_cl_convert_ushort2_rteDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z19convert_ushort2_rteDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z23_cl_convert_ushort2_rteDv2_t(<2 x i16> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z23_cl_convert_ushort3_rteDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z19convert_ushort3_rteDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z23_cl_convert_ushort3_rteDv3_t(<3 x i16> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z23_cl_convert_ushort4_rteDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z19convert_ushort4_rteDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z23_cl_convert_ushort4_rteDv4_t(<4 x i16> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z23_cl_convert_ushort8_rteDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z19convert_ushort8_rteDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z23_cl_convert_ushort8_rteDv8_t(<8 x i16> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z24_cl_convert_ushort16_rteDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z20convert_ushort16_rteDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z24_cl_convert_ushort16_rteDv16_t(<16 x i16> %a)
  ret <16 x i16> %call
}


declare i16 @_Z22_cl_convert_ushort_rtzt(i16) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z18convert_ushort_rtzt(i16 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z22_cl_convert_ushort_rtzt(i16 %a)
  ret i16 %call
}


declare <2 x i16> @_Z23_cl_convert_ushort2_rtzDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z19convert_ushort2_rtzDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z23_cl_convert_ushort2_rtzDv2_t(<2 x i16> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z23_cl_convert_ushort3_rtzDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z19convert_ushort3_rtzDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z23_cl_convert_ushort3_rtzDv3_t(<3 x i16> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z23_cl_convert_ushort4_rtzDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z19convert_ushort4_rtzDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z23_cl_convert_ushort4_rtzDv4_t(<4 x i16> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z23_cl_convert_ushort8_rtzDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z19convert_ushort8_rtzDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z23_cl_convert_ushort8_rtzDv8_t(<8 x i16> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z24_cl_convert_ushort16_rtzDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z20convert_ushort16_rtzDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z24_cl_convert_ushort16_rtzDv16_t(<16 x i16> %a)
  ret <16 x i16> %call
}


declare i16 @_Z22_cl_convert_ushort_satt(i16) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z18convert_ushort_satt(i16 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z22_cl_convert_ushort_satt(i16 %a)
  ret i16 %call
}


declare <2 x i16> @_Z23_cl_convert_ushort2_satDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z19convert_ushort2_satDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z23_cl_convert_ushort2_satDv2_t(<2 x i16> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z23_cl_convert_ushort3_satDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z19convert_ushort3_satDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z23_cl_convert_ushort3_satDv3_t(<3 x i16> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z23_cl_convert_ushort4_satDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z19convert_ushort4_satDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z23_cl_convert_ushort4_satDv4_t(<4 x i16> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z23_cl_convert_ushort8_satDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z19convert_ushort8_satDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z23_cl_convert_ushort8_satDv8_t(<8 x i16> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z24_cl_convert_ushort16_satDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z20convert_ushort16_satDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z24_cl_convert_ushort16_satDv16_t(<16 x i16> %a)
  ret <16 x i16> %call
}


declare i16 @_Z26_cl_convert_ushort_sat_rtpt(i16) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z22convert_ushort_sat_rtpt(i16 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z26_cl_convert_ushort_sat_rtpt(i16 %a)
  ret i16 %call
}


declare <2 x i16> @_Z27_cl_convert_ushort2_sat_rtpDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z23convert_ushort2_sat_rtpDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z27_cl_convert_ushort2_sat_rtpDv2_t(<2 x i16> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z27_cl_convert_ushort3_sat_rtpDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z23convert_ushort3_sat_rtpDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z27_cl_convert_ushort3_sat_rtpDv3_t(<3 x i16> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z27_cl_convert_ushort4_sat_rtpDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z23convert_ushort4_sat_rtpDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z27_cl_convert_ushort4_sat_rtpDv4_t(<4 x i16> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z27_cl_convert_ushort8_sat_rtpDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z23convert_ushort8_sat_rtpDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z27_cl_convert_ushort8_sat_rtpDv8_t(<8 x i16> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z28_cl_convert_ushort16_sat_rtpDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z24convert_ushort16_sat_rtpDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z28_cl_convert_ushort16_sat_rtpDv16_t(<16 x i16> %a)
  ret <16 x i16> %call
}


declare i16 @_Z26_cl_convert_ushort_sat_rtnt(i16) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z22convert_ushort_sat_rtnt(i16 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z26_cl_convert_ushort_sat_rtnt(i16 %a)
  ret i16 %call
}


declare <2 x i16> @_Z27_cl_convert_ushort2_sat_rtnDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z23convert_ushort2_sat_rtnDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z27_cl_convert_ushort2_sat_rtnDv2_t(<2 x i16> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z27_cl_convert_ushort3_sat_rtnDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z23convert_ushort3_sat_rtnDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z27_cl_convert_ushort3_sat_rtnDv3_t(<3 x i16> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z27_cl_convert_ushort4_sat_rtnDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z23convert_ushort4_sat_rtnDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z27_cl_convert_ushort4_sat_rtnDv4_t(<4 x i16> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z27_cl_convert_ushort8_sat_rtnDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z23convert_ushort8_sat_rtnDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z27_cl_convert_ushort8_sat_rtnDv8_t(<8 x i16> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z28_cl_convert_ushort16_sat_rtnDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z24convert_ushort16_sat_rtnDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z28_cl_convert_ushort16_sat_rtnDv16_t(<16 x i16> %a)
  ret <16 x i16> %call
}


declare i16 @_Z26_cl_convert_ushort_sat_rtet(i16) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z22convert_ushort_sat_rtet(i16 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z26_cl_convert_ushort_sat_rtet(i16 %a)
  ret i16 %call
}


declare <2 x i16> @_Z27_cl_convert_ushort2_sat_rteDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z23convert_ushort2_sat_rteDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z27_cl_convert_ushort2_sat_rteDv2_t(<2 x i16> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z27_cl_convert_ushort3_sat_rteDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z23convert_ushort3_sat_rteDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z27_cl_convert_ushort3_sat_rteDv3_t(<3 x i16> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z27_cl_convert_ushort4_sat_rteDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z23convert_ushort4_sat_rteDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z27_cl_convert_ushort4_sat_rteDv4_t(<4 x i16> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z27_cl_convert_ushort8_sat_rteDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z23convert_ushort8_sat_rteDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z27_cl_convert_ushort8_sat_rteDv8_t(<8 x i16> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z28_cl_convert_ushort16_sat_rteDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z24convert_ushort16_sat_rteDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z28_cl_convert_ushort16_sat_rteDv16_t(<16 x i16> %a)
  ret <16 x i16> %call
}


declare i16 @_Z26_cl_convert_ushort_sat_rtzt(i16) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z22convert_ushort_sat_rtzt(i16 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z26_cl_convert_ushort_sat_rtzt(i16 %a)
  ret i16 %call
}


declare <2 x i16> @_Z27_cl_convert_ushort2_sat_rtzDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z23convert_ushort2_sat_rtzDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z27_cl_convert_ushort2_sat_rtzDv2_t(<2 x i16> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z27_cl_convert_ushort3_sat_rtzDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z23convert_ushort3_sat_rtzDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z27_cl_convert_ushort3_sat_rtzDv3_t(<3 x i16> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z27_cl_convert_ushort4_sat_rtzDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z23convert_ushort4_sat_rtzDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z27_cl_convert_ushort4_sat_rtzDv4_t(<4 x i16> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z27_cl_convert_ushort8_sat_rtzDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z23convert_ushort8_sat_rtzDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z27_cl_convert_ushort8_sat_rtzDv8_t(<8 x i16> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z28_cl_convert_ushort16_sat_rtzDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z24convert_ushort16_sat_rtzDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z28_cl_convert_ushort16_sat_rtzDv16_t(<16 x i16> %a)
  ret <16 x i16> %call
}


declare i16 @_Z18_cl_convert_ushorti(i32) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z14convert_ushorti(i32 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z18_cl_convert_ushorti(i32 %a)
  ret i16 %call
}


declare <2 x i16> @_Z19_cl_convert_ushort2Dv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z15convert_ushort2Dv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z19_cl_convert_ushort2Dv2_i(<2 x i32> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z19_cl_convert_ushort3Dv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z15convert_ushort3Dv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z19_cl_convert_ushort3Dv3_i(<3 x i32> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z19_cl_convert_ushort4Dv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z15convert_ushort4Dv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z19_cl_convert_ushort4Dv4_i(<4 x i32> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z19_cl_convert_ushort8Dv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z15convert_ushort8Dv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z19_cl_convert_ushort8Dv8_i(<8 x i32> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z20_cl_convert_ushort16Dv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z16convert_ushort16Dv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z20_cl_convert_ushort16Dv16_i(<16 x i32> %a)
  ret <16 x i16> %call
}


declare i16 @_Z22_cl_convert_ushort_rtpi(i32) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z18convert_ushort_rtpi(i32 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z22_cl_convert_ushort_rtpi(i32 %a)
  ret i16 %call
}


declare <2 x i16> @_Z23_cl_convert_ushort2_rtpDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z19convert_ushort2_rtpDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z23_cl_convert_ushort2_rtpDv2_i(<2 x i32> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z23_cl_convert_ushort3_rtpDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z19convert_ushort3_rtpDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z23_cl_convert_ushort3_rtpDv3_i(<3 x i32> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z23_cl_convert_ushort4_rtpDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z19convert_ushort4_rtpDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z23_cl_convert_ushort4_rtpDv4_i(<4 x i32> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z23_cl_convert_ushort8_rtpDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z19convert_ushort8_rtpDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z23_cl_convert_ushort8_rtpDv8_i(<8 x i32> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z24_cl_convert_ushort16_rtpDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z20convert_ushort16_rtpDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z24_cl_convert_ushort16_rtpDv16_i(<16 x i32> %a)
  ret <16 x i16> %call
}


declare i16 @_Z22_cl_convert_ushort_rtni(i32) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z18convert_ushort_rtni(i32 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z22_cl_convert_ushort_rtni(i32 %a)
  ret i16 %call
}


declare <2 x i16> @_Z23_cl_convert_ushort2_rtnDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z19convert_ushort2_rtnDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z23_cl_convert_ushort2_rtnDv2_i(<2 x i32> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z23_cl_convert_ushort3_rtnDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z19convert_ushort3_rtnDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z23_cl_convert_ushort3_rtnDv3_i(<3 x i32> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z23_cl_convert_ushort4_rtnDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z19convert_ushort4_rtnDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z23_cl_convert_ushort4_rtnDv4_i(<4 x i32> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z23_cl_convert_ushort8_rtnDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z19convert_ushort8_rtnDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z23_cl_convert_ushort8_rtnDv8_i(<8 x i32> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z24_cl_convert_ushort16_rtnDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z20convert_ushort16_rtnDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z24_cl_convert_ushort16_rtnDv16_i(<16 x i32> %a)
  ret <16 x i16> %call
}


declare i16 @_Z22_cl_convert_ushort_rtei(i32) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z18convert_ushort_rtei(i32 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z22_cl_convert_ushort_rtei(i32 %a)
  ret i16 %call
}


declare <2 x i16> @_Z23_cl_convert_ushort2_rteDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z19convert_ushort2_rteDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z23_cl_convert_ushort2_rteDv2_i(<2 x i32> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z23_cl_convert_ushort3_rteDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z19convert_ushort3_rteDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z23_cl_convert_ushort3_rteDv3_i(<3 x i32> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z23_cl_convert_ushort4_rteDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z19convert_ushort4_rteDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z23_cl_convert_ushort4_rteDv4_i(<4 x i32> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z23_cl_convert_ushort8_rteDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z19convert_ushort8_rteDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z23_cl_convert_ushort8_rteDv8_i(<8 x i32> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z24_cl_convert_ushort16_rteDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z20convert_ushort16_rteDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z24_cl_convert_ushort16_rteDv16_i(<16 x i32> %a)
  ret <16 x i16> %call
}


declare i16 @_Z22_cl_convert_ushort_rtzi(i32) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z18convert_ushort_rtzi(i32 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z22_cl_convert_ushort_rtzi(i32 %a)
  ret i16 %call
}


declare <2 x i16> @_Z23_cl_convert_ushort2_rtzDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z19convert_ushort2_rtzDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z23_cl_convert_ushort2_rtzDv2_i(<2 x i32> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z23_cl_convert_ushort3_rtzDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z19convert_ushort3_rtzDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z23_cl_convert_ushort3_rtzDv3_i(<3 x i32> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z23_cl_convert_ushort4_rtzDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z19convert_ushort4_rtzDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z23_cl_convert_ushort4_rtzDv4_i(<4 x i32> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z23_cl_convert_ushort8_rtzDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z19convert_ushort8_rtzDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z23_cl_convert_ushort8_rtzDv8_i(<8 x i32> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z24_cl_convert_ushort16_rtzDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z20convert_ushort16_rtzDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z24_cl_convert_ushort16_rtzDv16_i(<16 x i32> %a)
  ret <16 x i16> %call
}


declare i16 @_Z22_cl_convert_ushort_sati(i32) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z18convert_ushort_sati(i32 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z22_cl_convert_ushort_sati(i32 %a)
  ret i16 %call
}


declare <2 x i16> @_Z23_cl_convert_ushort2_satDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z19convert_ushort2_satDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z23_cl_convert_ushort2_satDv2_i(<2 x i32> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z23_cl_convert_ushort3_satDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z19convert_ushort3_satDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z23_cl_convert_ushort3_satDv3_i(<3 x i32> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z23_cl_convert_ushort4_satDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z19convert_ushort4_satDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z23_cl_convert_ushort4_satDv4_i(<4 x i32> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z23_cl_convert_ushort8_satDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z19convert_ushort8_satDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z23_cl_convert_ushort8_satDv8_i(<8 x i32> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z24_cl_convert_ushort16_satDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z20convert_ushort16_satDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z24_cl_convert_ushort16_satDv16_i(<16 x i32> %a)
  ret <16 x i16> %call
}


declare i16 @_Z26_cl_convert_ushort_sat_rtpi(i32) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z22convert_ushort_sat_rtpi(i32 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z26_cl_convert_ushort_sat_rtpi(i32 %a)
  ret i16 %call
}


declare <2 x i16> @_Z27_cl_convert_ushort2_sat_rtpDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z23convert_ushort2_sat_rtpDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z27_cl_convert_ushort2_sat_rtpDv2_i(<2 x i32> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z27_cl_convert_ushort3_sat_rtpDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z23convert_ushort3_sat_rtpDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z27_cl_convert_ushort3_sat_rtpDv3_i(<3 x i32> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z27_cl_convert_ushort4_sat_rtpDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z23convert_ushort4_sat_rtpDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z27_cl_convert_ushort4_sat_rtpDv4_i(<4 x i32> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z27_cl_convert_ushort8_sat_rtpDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z23convert_ushort8_sat_rtpDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z27_cl_convert_ushort8_sat_rtpDv8_i(<8 x i32> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z28_cl_convert_ushort16_sat_rtpDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z24convert_ushort16_sat_rtpDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z28_cl_convert_ushort16_sat_rtpDv16_i(<16 x i32> %a)
  ret <16 x i16> %call
}


declare i16 @_Z26_cl_convert_ushort_sat_rtni(i32) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z22convert_ushort_sat_rtni(i32 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z26_cl_convert_ushort_sat_rtni(i32 %a)
  ret i16 %call
}


declare <2 x i16> @_Z27_cl_convert_ushort2_sat_rtnDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z23convert_ushort2_sat_rtnDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z27_cl_convert_ushort2_sat_rtnDv2_i(<2 x i32> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z27_cl_convert_ushort3_sat_rtnDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z23convert_ushort3_sat_rtnDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z27_cl_convert_ushort3_sat_rtnDv3_i(<3 x i32> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z27_cl_convert_ushort4_sat_rtnDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z23convert_ushort4_sat_rtnDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z27_cl_convert_ushort4_sat_rtnDv4_i(<4 x i32> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z27_cl_convert_ushort8_sat_rtnDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z23convert_ushort8_sat_rtnDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z27_cl_convert_ushort8_sat_rtnDv8_i(<8 x i32> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z28_cl_convert_ushort16_sat_rtnDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z24convert_ushort16_sat_rtnDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z28_cl_convert_ushort16_sat_rtnDv16_i(<16 x i32> %a)
  ret <16 x i16> %call
}


declare i16 @_Z26_cl_convert_ushort_sat_rtei(i32) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z22convert_ushort_sat_rtei(i32 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z26_cl_convert_ushort_sat_rtei(i32 %a)
  ret i16 %call
}


declare <2 x i16> @_Z27_cl_convert_ushort2_sat_rteDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z23convert_ushort2_sat_rteDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z27_cl_convert_ushort2_sat_rteDv2_i(<2 x i32> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z27_cl_convert_ushort3_sat_rteDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z23convert_ushort3_sat_rteDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z27_cl_convert_ushort3_sat_rteDv3_i(<3 x i32> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z27_cl_convert_ushort4_sat_rteDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z23convert_ushort4_sat_rteDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z27_cl_convert_ushort4_sat_rteDv4_i(<4 x i32> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z27_cl_convert_ushort8_sat_rteDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z23convert_ushort8_sat_rteDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z27_cl_convert_ushort8_sat_rteDv8_i(<8 x i32> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z28_cl_convert_ushort16_sat_rteDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z24convert_ushort16_sat_rteDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z28_cl_convert_ushort16_sat_rteDv16_i(<16 x i32> %a)
  ret <16 x i16> %call
}


declare i16 @_Z26_cl_convert_ushort_sat_rtzi(i32) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z22convert_ushort_sat_rtzi(i32 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z26_cl_convert_ushort_sat_rtzi(i32 %a)
  ret i16 %call
}


declare <2 x i16> @_Z27_cl_convert_ushort2_sat_rtzDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z23convert_ushort2_sat_rtzDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z27_cl_convert_ushort2_sat_rtzDv2_i(<2 x i32> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z27_cl_convert_ushort3_sat_rtzDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z23convert_ushort3_sat_rtzDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z27_cl_convert_ushort3_sat_rtzDv3_i(<3 x i32> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z27_cl_convert_ushort4_sat_rtzDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z23convert_ushort4_sat_rtzDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z27_cl_convert_ushort4_sat_rtzDv4_i(<4 x i32> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z27_cl_convert_ushort8_sat_rtzDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z23convert_ushort8_sat_rtzDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z27_cl_convert_ushort8_sat_rtzDv8_i(<8 x i32> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z28_cl_convert_ushort16_sat_rtzDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z24convert_ushort16_sat_rtzDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z28_cl_convert_ushort16_sat_rtzDv16_i(<16 x i32> %a)
  ret <16 x i16> %call
}


declare i16 @_Z18_cl_convert_ushortj(i32) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z14convert_ushortj(i32 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z18_cl_convert_ushortj(i32 %a)
  ret i16 %call
}


declare <2 x i16> @_Z19_cl_convert_ushort2Dv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z15convert_ushort2Dv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z19_cl_convert_ushort2Dv2_j(<2 x i32> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z19_cl_convert_ushort3Dv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z15convert_ushort3Dv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z19_cl_convert_ushort3Dv3_j(<3 x i32> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z19_cl_convert_ushort4Dv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z15convert_ushort4Dv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z19_cl_convert_ushort4Dv4_j(<4 x i32> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z19_cl_convert_ushort8Dv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z15convert_ushort8Dv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z19_cl_convert_ushort8Dv8_j(<8 x i32> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z20_cl_convert_ushort16Dv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z16convert_ushort16Dv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z20_cl_convert_ushort16Dv16_j(<16 x i32> %a)
  ret <16 x i16> %call
}


declare i16 @_Z22_cl_convert_ushort_rtpj(i32) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z18convert_ushort_rtpj(i32 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z22_cl_convert_ushort_rtpj(i32 %a)
  ret i16 %call
}


declare <2 x i16> @_Z23_cl_convert_ushort2_rtpDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z19convert_ushort2_rtpDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z23_cl_convert_ushort2_rtpDv2_j(<2 x i32> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z23_cl_convert_ushort3_rtpDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z19convert_ushort3_rtpDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z23_cl_convert_ushort3_rtpDv3_j(<3 x i32> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z23_cl_convert_ushort4_rtpDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z19convert_ushort4_rtpDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z23_cl_convert_ushort4_rtpDv4_j(<4 x i32> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z23_cl_convert_ushort8_rtpDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z19convert_ushort8_rtpDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z23_cl_convert_ushort8_rtpDv8_j(<8 x i32> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z24_cl_convert_ushort16_rtpDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z20convert_ushort16_rtpDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z24_cl_convert_ushort16_rtpDv16_j(<16 x i32> %a)
  ret <16 x i16> %call
}


declare i16 @_Z22_cl_convert_ushort_rtnj(i32) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z18convert_ushort_rtnj(i32 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z22_cl_convert_ushort_rtnj(i32 %a)
  ret i16 %call
}


declare <2 x i16> @_Z23_cl_convert_ushort2_rtnDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z19convert_ushort2_rtnDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z23_cl_convert_ushort2_rtnDv2_j(<2 x i32> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z23_cl_convert_ushort3_rtnDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z19convert_ushort3_rtnDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z23_cl_convert_ushort3_rtnDv3_j(<3 x i32> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z23_cl_convert_ushort4_rtnDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z19convert_ushort4_rtnDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z23_cl_convert_ushort4_rtnDv4_j(<4 x i32> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z23_cl_convert_ushort8_rtnDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z19convert_ushort8_rtnDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z23_cl_convert_ushort8_rtnDv8_j(<8 x i32> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z24_cl_convert_ushort16_rtnDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z20convert_ushort16_rtnDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z24_cl_convert_ushort16_rtnDv16_j(<16 x i32> %a)
  ret <16 x i16> %call
}


declare i16 @_Z22_cl_convert_ushort_rtej(i32) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z18convert_ushort_rtej(i32 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z22_cl_convert_ushort_rtej(i32 %a)
  ret i16 %call
}


declare <2 x i16> @_Z23_cl_convert_ushort2_rteDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z19convert_ushort2_rteDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z23_cl_convert_ushort2_rteDv2_j(<2 x i32> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z23_cl_convert_ushort3_rteDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z19convert_ushort3_rteDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z23_cl_convert_ushort3_rteDv3_j(<3 x i32> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z23_cl_convert_ushort4_rteDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z19convert_ushort4_rteDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z23_cl_convert_ushort4_rteDv4_j(<4 x i32> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z23_cl_convert_ushort8_rteDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z19convert_ushort8_rteDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z23_cl_convert_ushort8_rteDv8_j(<8 x i32> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z24_cl_convert_ushort16_rteDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z20convert_ushort16_rteDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z24_cl_convert_ushort16_rteDv16_j(<16 x i32> %a)
  ret <16 x i16> %call
}


declare i16 @_Z22_cl_convert_ushort_rtzj(i32) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z18convert_ushort_rtzj(i32 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z22_cl_convert_ushort_rtzj(i32 %a)
  ret i16 %call
}


declare <2 x i16> @_Z23_cl_convert_ushort2_rtzDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z19convert_ushort2_rtzDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z23_cl_convert_ushort2_rtzDv2_j(<2 x i32> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z23_cl_convert_ushort3_rtzDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z19convert_ushort3_rtzDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z23_cl_convert_ushort3_rtzDv3_j(<3 x i32> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z23_cl_convert_ushort4_rtzDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z19convert_ushort4_rtzDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z23_cl_convert_ushort4_rtzDv4_j(<4 x i32> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z23_cl_convert_ushort8_rtzDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z19convert_ushort8_rtzDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z23_cl_convert_ushort8_rtzDv8_j(<8 x i32> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z24_cl_convert_ushort16_rtzDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z20convert_ushort16_rtzDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z24_cl_convert_ushort16_rtzDv16_j(<16 x i32> %a)
  ret <16 x i16> %call
}


declare i16 @_Z22_cl_convert_ushort_satj(i32) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z18convert_ushort_satj(i32 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z22_cl_convert_ushort_satj(i32 %a)
  ret i16 %call
}


declare <2 x i16> @_Z23_cl_convert_ushort2_satDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z19convert_ushort2_satDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z23_cl_convert_ushort2_satDv2_j(<2 x i32> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z23_cl_convert_ushort3_satDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z19convert_ushort3_satDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z23_cl_convert_ushort3_satDv3_j(<3 x i32> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z23_cl_convert_ushort4_satDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z19convert_ushort4_satDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z23_cl_convert_ushort4_satDv4_j(<4 x i32> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z23_cl_convert_ushort8_satDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z19convert_ushort8_satDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z23_cl_convert_ushort8_satDv8_j(<8 x i32> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z24_cl_convert_ushort16_satDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z20convert_ushort16_satDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z24_cl_convert_ushort16_satDv16_j(<16 x i32> %a)
  ret <16 x i16> %call
}


declare i16 @_Z26_cl_convert_ushort_sat_rtpj(i32) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z22convert_ushort_sat_rtpj(i32 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z26_cl_convert_ushort_sat_rtpj(i32 %a)
  ret i16 %call
}


declare <2 x i16> @_Z27_cl_convert_ushort2_sat_rtpDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z23convert_ushort2_sat_rtpDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z27_cl_convert_ushort2_sat_rtpDv2_j(<2 x i32> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z27_cl_convert_ushort3_sat_rtpDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z23convert_ushort3_sat_rtpDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z27_cl_convert_ushort3_sat_rtpDv3_j(<3 x i32> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z27_cl_convert_ushort4_sat_rtpDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z23convert_ushort4_sat_rtpDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z27_cl_convert_ushort4_sat_rtpDv4_j(<4 x i32> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z27_cl_convert_ushort8_sat_rtpDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z23convert_ushort8_sat_rtpDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z27_cl_convert_ushort8_sat_rtpDv8_j(<8 x i32> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z28_cl_convert_ushort16_sat_rtpDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z24convert_ushort16_sat_rtpDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z28_cl_convert_ushort16_sat_rtpDv16_j(<16 x i32> %a)
  ret <16 x i16> %call
}


declare i16 @_Z26_cl_convert_ushort_sat_rtnj(i32) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z22convert_ushort_sat_rtnj(i32 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z26_cl_convert_ushort_sat_rtnj(i32 %a)
  ret i16 %call
}


declare <2 x i16> @_Z27_cl_convert_ushort2_sat_rtnDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z23convert_ushort2_sat_rtnDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z27_cl_convert_ushort2_sat_rtnDv2_j(<2 x i32> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z27_cl_convert_ushort3_sat_rtnDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z23convert_ushort3_sat_rtnDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z27_cl_convert_ushort3_sat_rtnDv3_j(<3 x i32> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z27_cl_convert_ushort4_sat_rtnDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z23convert_ushort4_sat_rtnDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z27_cl_convert_ushort4_sat_rtnDv4_j(<4 x i32> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z27_cl_convert_ushort8_sat_rtnDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z23convert_ushort8_sat_rtnDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z27_cl_convert_ushort8_sat_rtnDv8_j(<8 x i32> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z28_cl_convert_ushort16_sat_rtnDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z24convert_ushort16_sat_rtnDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z28_cl_convert_ushort16_sat_rtnDv16_j(<16 x i32> %a)
  ret <16 x i16> %call
}


declare i16 @_Z26_cl_convert_ushort_sat_rtej(i32) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z22convert_ushort_sat_rtej(i32 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z26_cl_convert_ushort_sat_rtej(i32 %a)
  ret i16 %call
}


declare <2 x i16> @_Z27_cl_convert_ushort2_sat_rteDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z23convert_ushort2_sat_rteDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z27_cl_convert_ushort2_sat_rteDv2_j(<2 x i32> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z27_cl_convert_ushort3_sat_rteDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z23convert_ushort3_sat_rteDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z27_cl_convert_ushort3_sat_rteDv3_j(<3 x i32> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z27_cl_convert_ushort4_sat_rteDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z23convert_ushort4_sat_rteDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z27_cl_convert_ushort4_sat_rteDv4_j(<4 x i32> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z27_cl_convert_ushort8_sat_rteDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z23convert_ushort8_sat_rteDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z27_cl_convert_ushort8_sat_rteDv8_j(<8 x i32> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z28_cl_convert_ushort16_sat_rteDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z24convert_ushort16_sat_rteDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z28_cl_convert_ushort16_sat_rteDv16_j(<16 x i32> %a)
  ret <16 x i16> %call
}


declare i16 @_Z26_cl_convert_ushort_sat_rtzj(i32) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z22convert_ushort_sat_rtzj(i32 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z26_cl_convert_ushort_sat_rtzj(i32 %a)
  ret i16 %call
}


declare <2 x i16> @_Z27_cl_convert_ushort2_sat_rtzDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z23convert_ushort2_sat_rtzDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z27_cl_convert_ushort2_sat_rtzDv2_j(<2 x i32> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z27_cl_convert_ushort3_sat_rtzDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z23convert_ushort3_sat_rtzDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z27_cl_convert_ushort3_sat_rtzDv3_j(<3 x i32> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z27_cl_convert_ushort4_sat_rtzDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z23convert_ushort4_sat_rtzDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z27_cl_convert_ushort4_sat_rtzDv4_j(<4 x i32> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z27_cl_convert_ushort8_sat_rtzDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z23convert_ushort8_sat_rtzDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z27_cl_convert_ushort8_sat_rtzDv8_j(<8 x i32> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z28_cl_convert_ushort16_sat_rtzDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z24convert_ushort16_sat_rtzDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z28_cl_convert_ushort16_sat_rtzDv16_j(<16 x i32> %a)
  ret <16 x i16> %call
}


declare i16 @_Z18_cl_convert_ushortl(i64) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z14convert_ushortl(i64 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z18_cl_convert_ushortl(i64 %a)
  ret i16 %call
}


declare <2 x i16> @_Z19_cl_convert_ushort2Dv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z15convert_ushort2Dv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z19_cl_convert_ushort2Dv2_l(<2 x i64> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z19_cl_convert_ushort3Dv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z15convert_ushort3Dv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z19_cl_convert_ushort3Dv3_l(<3 x i64> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z19_cl_convert_ushort4Dv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z15convert_ushort4Dv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z19_cl_convert_ushort4Dv4_l(<4 x i64> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z19_cl_convert_ushort8Dv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z15convert_ushort8Dv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z19_cl_convert_ushort8Dv8_l(<8 x i64> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z20_cl_convert_ushort16Dv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z16convert_ushort16Dv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z20_cl_convert_ushort16Dv16_l(<16 x i64> %a)
  ret <16 x i16> %call
}


declare i16 @_Z22_cl_convert_ushort_rtpl(i64) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z18convert_ushort_rtpl(i64 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z22_cl_convert_ushort_rtpl(i64 %a)
  ret i16 %call
}


declare <2 x i16> @_Z23_cl_convert_ushort2_rtpDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z19convert_ushort2_rtpDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z23_cl_convert_ushort2_rtpDv2_l(<2 x i64> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z23_cl_convert_ushort3_rtpDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z19convert_ushort3_rtpDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z23_cl_convert_ushort3_rtpDv3_l(<3 x i64> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z23_cl_convert_ushort4_rtpDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z19convert_ushort4_rtpDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z23_cl_convert_ushort4_rtpDv4_l(<4 x i64> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z23_cl_convert_ushort8_rtpDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z19convert_ushort8_rtpDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z23_cl_convert_ushort8_rtpDv8_l(<8 x i64> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z24_cl_convert_ushort16_rtpDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z20convert_ushort16_rtpDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z24_cl_convert_ushort16_rtpDv16_l(<16 x i64> %a)
  ret <16 x i16> %call
}


declare i16 @_Z22_cl_convert_ushort_rtnl(i64) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z18convert_ushort_rtnl(i64 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z22_cl_convert_ushort_rtnl(i64 %a)
  ret i16 %call
}


declare <2 x i16> @_Z23_cl_convert_ushort2_rtnDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z19convert_ushort2_rtnDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z23_cl_convert_ushort2_rtnDv2_l(<2 x i64> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z23_cl_convert_ushort3_rtnDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z19convert_ushort3_rtnDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z23_cl_convert_ushort3_rtnDv3_l(<3 x i64> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z23_cl_convert_ushort4_rtnDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z19convert_ushort4_rtnDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z23_cl_convert_ushort4_rtnDv4_l(<4 x i64> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z23_cl_convert_ushort8_rtnDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z19convert_ushort8_rtnDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z23_cl_convert_ushort8_rtnDv8_l(<8 x i64> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z24_cl_convert_ushort16_rtnDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z20convert_ushort16_rtnDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z24_cl_convert_ushort16_rtnDv16_l(<16 x i64> %a)
  ret <16 x i16> %call
}


declare i16 @_Z22_cl_convert_ushort_rtel(i64) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z18convert_ushort_rtel(i64 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z22_cl_convert_ushort_rtel(i64 %a)
  ret i16 %call
}


declare <2 x i16> @_Z23_cl_convert_ushort2_rteDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z19convert_ushort2_rteDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z23_cl_convert_ushort2_rteDv2_l(<2 x i64> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z23_cl_convert_ushort3_rteDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z19convert_ushort3_rteDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z23_cl_convert_ushort3_rteDv3_l(<3 x i64> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z23_cl_convert_ushort4_rteDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z19convert_ushort4_rteDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z23_cl_convert_ushort4_rteDv4_l(<4 x i64> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z23_cl_convert_ushort8_rteDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z19convert_ushort8_rteDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z23_cl_convert_ushort8_rteDv8_l(<8 x i64> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z24_cl_convert_ushort16_rteDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z20convert_ushort16_rteDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z24_cl_convert_ushort16_rteDv16_l(<16 x i64> %a)
  ret <16 x i16> %call
}


declare i16 @_Z22_cl_convert_ushort_rtzl(i64) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z18convert_ushort_rtzl(i64 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z22_cl_convert_ushort_rtzl(i64 %a)
  ret i16 %call
}


declare <2 x i16> @_Z23_cl_convert_ushort2_rtzDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z19convert_ushort2_rtzDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z23_cl_convert_ushort2_rtzDv2_l(<2 x i64> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z23_cl_convert_ushort3_rtzDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z19convert_ushort3_rtzDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z23_cl_convert_ushort3_rtzDv3_l(<3 x i64> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z23_cl_convert_ushort4_rtzDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z19convert_ushort4_rtzDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z23_cl_convert_ushort4_rtzDv4_l(<4 x i64> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z23_cl_convert_ushort8_rtzDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z19convert_ushort8_rtzDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z23_cl_convert_ushort8_rtzDv8_l(<8 x i64> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z24_cl_convert_ushort16_rtzDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z20convert_ushort16_rtzDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z24_cl_convert_ushort16_rtzDv16_l(<16 x i64> %a)
  ret <16 x i16> %call
}


declare i16 @_Z22_cl_convert_ushort_satl(i64) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z18convert_ushort_satl(i64 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z22_cl_convert_ushort_satl(i64 %a)
  ret i16 %call
}


declare <2 x i16> @_Z23_cl_convert_ushort2_satDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z19convert_ushort2_satDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z23_cl_convert_ushort2_satDv2_l(<2 x i64> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z23_cl_convert_ushort3_satDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z19convert_ushort3_satDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z23_cl_convert_ushort3_satDv3_l(<3 x i64> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z23_cl_convert_ushort4_satDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z19convert_ushort4_satDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z23_cl_convert_ushort4_satDv4_l(<4 x i64> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z23_cl_convert_ushort8_satDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z19convert_ushort8_satDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z23_cl_convert_ushort8_satDv8_l(<8 x i64> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z24_cl_convert_ushort16_satDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z20convert_ushort16_satDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z24_cl_convert_ushort16_satDv16_l(<16 x i64> %a)
  ret <16 x i16> %call
}


declare i16 @_Z26_cl_convert_ushort_sat_rtpl(i64) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z22convert_ushort_sat_rtpl(i64 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z26_cl_convert_ushort_sat_rtpl(i64 %a)
  ret i16 %call
}


declare <2 x i16> @_Z27_cl_convert_ushort2_sat_rtpDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z23convert_ushort2_sat_rtpDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z27_cl_convert_ushort2_sat_rtpDv2_l(<2 x i64> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z27_cl_convert_ushort3_sat_rtpDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z23convert_ushort3_sat_rtpDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z27_cl_convert_ushort3_sat_rtpDv3_l(<3 x i64> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z27_cl_convert_ushort4_sat_rtpDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z23convert_ushort4_sat_rtpDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z27_cl_convert_ushort4_sat_rtpDv4_l(<4 x i64> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z27_cl_convert_ushort8_sat_rtpDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z23convert_ushort8_sat_rtpDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z27_cl_convert_ushort8_sat_rtpDv8_l(<8 x i64> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z28_cl_convert_ushort16_sat_rtpDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z24convert_ushort16_sat_rtpDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z28_cl_convert_ushort16_sat_rtpDv16_l(<16 x i64> %a)
  ret <16 x i16> %call
}


declare i16 @_Z26_cl_convert_ushort_sat_rtnl(i64) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z22convert_ushort_sat_rtnl(i64 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z26_cl_convert_ushort_sat_rtnl(i64 %a)
  ret i16 %call
}


declare <2 x i16> @_Z27_cl_convert_ushort2_sat_rtnDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z23convert_ushort2_sat_rtnDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z27_cl_convert_ushort2_sat_rtnDv2_l(<2 x i64> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z27_cl_convert_ushort3_sat_rtnDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z23convert_ushort3_sat_rtnDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z27_cl_convert_ushort3_sat_rtnDv3_l(<3 x i64> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z27_cl_convert_ushort4_sat_rtnDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z23convert_ushort4_sat_rtnDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z27_cl_convert_ushort4_sat_rtnDv4_l(<4 x i64> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z27_cl_convert_ushort8_sat_rtnDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z23convert_ushort8_sat_rtnDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z27_cl_convert_ushort8_sat_rtnDv8_l(<8 x i64> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z28_cl_convert_ushort16_sat_rtnDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z24convert_ushort16_sat_rtnDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z28_cl_convert_ushort16_sat_rtnDv16_l(<16 x i64> %a)
  ret <16 x i16> %call
}


declare i16 @_Z26_cl_convert_ushort_sat_rtel(i64) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z22convert_ushort_sat_rtel(i64 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z26_cl_convert_ushort_sat_rtel(i64 %a)
  ret i16 %call
}


declare <2 x i16> @_Z27_cl_convert_ushort2_sat_rteDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z23convert_ushort2_sat_rteDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z27_cl_convert_ushort2_sat_rteDv2_l(<2 x i64> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z27_cl_convert_ushort3_sat_rteDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z23convert_ushort3_sat_rteDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z27_cl_convert_ushort3_sat_rteDv3_l(<3 x i64> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z27_cl_convert_ushort4_sat_rteDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z23convert_ushort4_sat_rteDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z27_cl_convert_ushort4_sat_rteDv4_l(<4 x i64> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z27_cl_convert_ushort8_sat_rteDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z23convert_ushort8_sat_rteDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z27_cl_convert_ushort8_sat_rteDv8_l(<8 x i64> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z28_cl_convert_ushort16_sat_rteDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z24convert_ushort16_sat_rteDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z28_cl_convert_ushort16_sat_rteDv16_l(<16 x i64> %a)
  ret <16 x i16> %call
}


declare i16 @_Z26_cl_convert_ushort_sat_rtzl(i64) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z22convert_ushort_sat_rtzl(i64 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z26_cl_convert_ushort_sat_rtzl(i64 %a)
  ret i16 %call
}


declare <2 x i16> @_Z27_cl_convert_ushort2_sat_rtzDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z23convert_ushort2_sat_rtzDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z27_cl_convert_ushort2_sat_rtzDv2_l(<2 x i64> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z27_cl_convert_ushort3_sat_rtzDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z23convert_ushort3_sat_rtzDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z27_cl_convert_ushort3_sat_rtzDv3_l(<3 x i64> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z27_cl_convert_ushort4_sat_rtzDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z23convert_ushort4_sat_rtzDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z27_cl_convert_ushort4_sat_rtzDv4_l(<4 x i64> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z27_cl_convert_ushort8_sat_rtzDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z23convert_ushort8_sat_rtzDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z27_cl_convert_ushort8_sat_rtzDv8_l(<8 x i64> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z28_cl_convert_ushort16_sat_rtzDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z24convert_ushort16_sat_rtzDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z28_cl_convert_ushort16_sat_rtzDv16_l(<16 x i64> %a)
  ret <16 x i16> %call
}


declare i16 @_Z18_cl_convert_ushortm(i64) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z14convert_ushortm(i64 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z18_cl_convert_ushortm(i64 %a)
  ret i16 %call
}


declare <2 x i16> @_Z19_cl_convert_ushort2Dv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z15convert_ushort2Dv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z19_cl_convert_ushort2Dv2_m(<2 x i64> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z19_cl_convert_ushort3Dv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z15convert_ushort3Dv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z19_cl_convert_ushort3Dv3_m(<3 x i64> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z19_cl_convert_ushort4Dv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z15convert_ushort4Dv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z19_cl_convert_ushort4Dv4_m(<4 x i64> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z19_cl_convert_ushort8Dv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z15convert_ushort8Dv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z19_cl_convert_ushort8Dv8_m(<8 x i64> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z20_cl_convert_ushort16Dv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z16convert_ushort16Dv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z20_cl_convert_ushort16Dv16_m(<16 x i64> %a)
  ret <16 x i16> %call
}


declare i16 @_Z22_cl_convert_ushort_rtpm(i64) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z18convert_ushort_rtpm(i64 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z22_cl_convert_ushort_rtpm(i64 %a)
  ret i16 %call
}


declare <2 x i16> @_Z23_cl_convert_ushort2_rtpDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z19convert_ushort2_rtpDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z23_cl_convert_ushort2_rtpDv2_m(<2 x i64> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z23_cl_convert_ushort3_rtpDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z19convert_ushort3_rtpDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z23_cl_convert_ushort3_rtpDv3_m(<3 x i64> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z23_cl_convert_ushort4_rtpDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z19convert_ushort4_rtpDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z23_cl_convert_ushort4_rtpDv4_m(<4 x i64> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z23_cl_convert_ushort8_rtpDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z19convert_ushort8_rtpDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z23_cl_convert_ushort8_rtpDv8_m(<8 x i64> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z24_cl_convert_ushort16_rtpDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z20convert_ushort16_rtpDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z24_cl_convert_ushort16_rtpDv16_m(<16 x i64> %a)
  ret <16 x i16> %call
}


declare i16 @_Z22_cl_convert_ushort_rtnm(i64) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z18convert_ushort_rtnm(i64 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z22_cl_convert_ushort_rtnm(i64 %a)
  ret i16 %call
}


declare <2 x i16> @_Z23_cl_convert_ushort2_rtnDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z19convert_ushort2_rtnDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z23_cl_convert_ushort2_rtnDv2_m(<2 x i64> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z23_cl_convert_ushort3_rtnDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z19convert_ushort3_rtnDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z23_cl_convert_ushort3_rtnDv3_m(<3 x i64> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z23_cl_convert_ushort4_rtnDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z19convert_ushort4_rtnDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z23_cl_convert_ushort4_rtnDv4_m(<4 x i64> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z23_cl_convert_ushort8_rtnDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z19convert_ushort8_rtnDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z23_cl_convert_ushort8_rtnDv8_m(<8 x i64> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z24_cl_convert_ushort16_rtnDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z20convert_ushort16_rtnDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z24_cl_convert_ushort16_rtnDv16_m(<16 x i64> %a)
  ret <16 x i16> %call
}


declare i16 @_Z22_cl_convert_ushort_rtem(i64) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z18convert_ushort_rtem(i64 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z22_cl_convert_ushort_rtem(i64 %a)
  ret i16 %call
}


declare <2 x i16> @_Z23_cl_convert_ushort2_rteDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z19convert_ushort2_rteDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z23_cl_convert_ushort2_rteDv2_m(<2 x i64> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z23_cl_convert_ushort3_rteDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z19convert_ushort3_rteDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z23_cl_convert_ushort3_rteDv3_m(<3 x i64> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z23_cl_convert_ushort4_rteDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z19convert_ushort4_rteDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z23_cl_convert_ushort4_rteDv4_m(<4 x i64> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z23_cl_convert_ushort8_rteDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z19convert_ushort8_rteDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z23_cl_convert_ushort8_rteDv8_m(<8 x i64> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z24_cl_convert_ushort16_rteDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z20convert_ushort16_rteDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z24_cl_convert_ushort16_rteDv16_m(<16 x i64> %a)
  ret <16 x i16> %call
}


declare i16 @_Z22_cl_convert_ushort_rtzm(i64) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z18convert_ushort_rtzm(i64 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z22_cl_convert_ushort_rtzm(i64 %a)
  ret i16 %call
}


declare <2 x i16> @_Z23_cl_convert_ushort2_rtzDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z19convert_ushort2_rtzDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z23_cl_convert_ushort2_rtzDv2_m(<2 x i64> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z23_cl_convert_ushort3_rtzDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z19convert_ushort3_rtzDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z23_cl_convert_ushort3_rtzDv3_m(<3 x i64> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z23_cl_convert_ushort4_rtzDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z19convert_ushort4_rtzDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z23_cl_convert_ushort4_rtzDv4_m(<4 x i64> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z23_cl_convert_ushort8_rtzDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z19convert_ushort8_rtzDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z23_cl_convert_ushort8_rtzDv8_m(<8 x i64> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z24_cl_convert_ushort16_rtzDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z20convert_ushort16_rtzDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z24_cl_convert_ushort16_rtzDv16_m(<16 x i64> %a)
  ret <16 x i16> %call
}


declare i16 @_Z22_cl_convert_ushort_satm(i64) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z18convert_ushort_satm(i64 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z22_cl_convert_ushort_satm(i64 %a)
  ret i16 %call
}


declare <2 x i16> @_Z23_cl_convert_ushort2_satDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z19convert_ushort2_satDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z23_cl_convert_ushort2_satDv2_m(<2 x i64> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z23_cl_convert_ushort3_satDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z19convert_ushort3_satDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z23_cl_convert_ushort3_satDv3_m(<3 x i64> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z23_cl_convert_ushort4_satDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z19convert_ushort4_satDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z23_cl_convert_ushort4_satDv4_m(<4 x i64> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z23_cl_convert_ushort8_satDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z19convert_ushort8_satDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z23_cl_convert_ushort8_satDv8_m(<8 x i64> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z24_cl_convert_ushort16_satDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z20convert_ushort16_satDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z24_cl_convert_ushort16_satDv16_m(<16 x i64> %a)
  ret <16 x i16> %call
}


declare i16 @_Z26_cl_convert_ushort_sat_rtpm(i64) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z22convert_ushort_sat_rtpm(i64 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z26_cl_convert_ushort_sat_rtpm(i64 %a)
  ret i16 %call
}


declare <2 x i16> @_Z27_cl_convert_ushort2_sat_rtpDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z23convert_ushort2_sat_rtpDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z27_cl_convert_ushort2_sat_rtpDv2_m(<2 x i64> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z27_cl_convert_ushort3_sat_rtpDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z23convert_ushort3_sat_rtpDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z27_cl_convert_ushort3_sat_rtpDv3_m(<3 x i64> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z27_cl_convert_ushort4_sat_rtpDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z23convert_ushort4_sat_rtpDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z27_cl_convert_ushort4_sat_rtpDv4_m(<4 x i64> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z27_cl_convert_ushort8_sat_rtpDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z23convert_ushort8_sat_rtpDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z27_cl_convert_ushort8_sat_rtpDv8_m(<8 x i64> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z28_cl_convert_ushort16_sat_rtpDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z24convert_ushort16_sat_rtpDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z28_cl_convert_ushort16_sat_rtpDv16_m(<16 x i64> %a)
  ret <16 x i16> %call
}


declare i16 @_Z26_cl_convert_ushort_sat_rtnm(i64) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z22convert_ushort_sat_rtnm(i64 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z26_cl_convert_ushort_sat_rtnm(i64 %a)
  ret i16 %call
}


declare <2 x i16> @_Z27_cl_convert_ushort2_sat_rtnDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z23convert_ushort2_sat_rtnDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z27_cl_convert_ushort2_sat_rtnDv2_m(<2 x i64> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z27_cl_convert_ushort3_sat_rtnDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z23convert_ushort3_sat_rtnDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z27_cl_convert_ushort3_sat_rtnDv3_m(<3 x i64> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z27_cl_convert_ushort4_sat_rtnDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z23convert_ushort4_sat_rtnDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z27_cl_convert_ushort4_sat_rtnDv4_m(<4 x i64> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z27_cl_convert_ushort8_sat_rtnDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z23convert_ushort8_sat_rtnDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z27_cl_convert_ushort8_sat_rtnDv8_m(<8 x i64> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z28_cl_convert_ushort16_sat_rtnDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z24convert_ushort16_sat_rtnDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z28_cl_convert_ushort16_sat_rtnDv16_m(<16 x i64> %a)
  ret <16 x i16> %call
}


declare i16 @_Z26_cl_convert_ushort_sat_rtem(i64) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z22convert_ushort_sat_rtem(i64 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z26_cl_convert_ushort_sat_rtem(i64 %a)
  ret i16 %call
}


declare <2 x i16> @_Z27_cl_convert_ushort2_sat_rteDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z23convert_ushort2_sat_rteDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z27_cl_convert_ushort2_sat_rteDv2_m(<2 x i64> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z27_cl_convert_ushort3_sat_rteDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z23convert_ushort3_sat_rteDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z27_cl_convert_ushort3_sat_rteDv3_m(<3 x i64> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z27_cl_convert_ushort4_sat_rteDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z23convert_ushort4_sat_rteDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z27_cl_convert_ushort4_sat_rteDv4_m(<4 x i64> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z27_cl_convert_ushort8_sat_rteDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z23convert_ushort8_sat_rteDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z27_cl_convert_ushort8_sat_rteDv8_m(<8 x i64> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z28_cl_convert_ushort16_sat_rteDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z24convert_ushort16_sat_rteDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z28_cl_convert_ushort16_sat_rteDv16_m(<16 x i64> %a)
  ret <16 x i16> %call
}


declare i16 @_Z26_cl_convert_ushort_sat_rtzm(i64) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z22convert_ushort_sat_rtzm(i64 %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z26_cl_convert_ushort_sat_rtzm(i64 %a)
  ret i16 %call
}


declare <2 x i16> @_Z27_cl_convert_ushort2_sat_rtzDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z23convert_ushort2_sat_rtzDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z27_cl_convert_ushort2_sat_rtzDv2_m(<2 x i64> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z27_cl_convert_ushort3_sat_rtzDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z23convert_ushort3_sat_rtzDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z27_cl_convert_ushort3_sat_rtzDv3_m(<3 x i64> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z27_cl_convert_ushort4_sat_rtzDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z23convert_ushort4_sat_rtzDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z27_cl_convert_ushort4_sat_rtzDv4_m(<4 x i64> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z27_cl_convert_ushort8_sat_rtzDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z23convert_ushort8_sat_rtzDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z27_cl_convert_ushort8_sat_rtzDv8_m(<8 x i64> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z28_cl_convert_ushort16_sat_rtzDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z24convert_ushort16_sat_rtzDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z28_cl_convert_ushort16_sat_rtzDv16_m(<16 x i64> %a)
  ret <16 x i16> %call
}


declare i16 @_Z18_cl_convert_ushortf(float) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z14convert_ushortf(float %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z18_cl_convert_ushortf(float %a)
  ret i16 %call
}


declare <2 x i16> @_Z19_cl_convert_ushort2Dv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z15convert_ushort2Dv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z19_cl_convert_ushort2Dv2_f(<2 x float> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z19_cl_convert_ushort3Dv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z15convert_ushort3Dv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z19_cl_convert_ushort3Dv3_f(<3 x float> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z19_cl_convert_ushort4Dv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z15convert_ushort4Dv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z19_cl_convert_ushort4Dv4_f(<4 x float> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z19_cl_convert_ushort8Dv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z15convert_ushort8Dv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z19_cl_convert_ushort8Dv8_f(<8 x float> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z20_cl_convert_ushort16Dv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z16convert_ushort16Dv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z20_cl_convert_ushort16Dv16_f(<16 x float> %a)
  ret <16 x i16> %call
}


declare i16 @_Z22_cl_convert_ushort_rtpf(float) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z18convert_ushort_rtpf(float %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z22_cl_convert_ushort_rtpf(float %a)
  ret i16 %call
}


declare <2 x i16> @_Z23_cl_convert_ushort2_rtpDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z19convert_ushort2_rtpDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z23_cl_convert_ushort2_rtpDv2_f(<2 x float> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z23_cl_convert_ushort3_rtpDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z19convert_ushort3_rtpDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z23_cl_convert_ushort3_rtpDv3_f(<3 x float> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z23_cl_convert_ushort4_rtpDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z19convert_ushort4_rtpDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z23_cl_convert_ushort4_rtpDv4_f(<4 x float> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z23_cl_convert_ushort8_rtpDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z19convert_ushort8_rtpDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z23_cl_convert_ushort8_rtpDv8_f(<8 x float> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z24_cl_convert_ushort16_rtpDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z20convert_ushort16_rtpDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z24_cl_convert_ushort16_rtpDv16_f(<16 x float> %a)
  ret <16 x i16> %call
}


declare i16 @_Z22_cl_convert_ushort_rtnf(float) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z18convert_ushort_rtnf(float %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z22_cl_convert_ushort_rtnf(float %a)
  ret i16 %call
}


declare <2 x i16> @_Z23_cl_convert_ushort2_rtnDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z19convert_ushort2_rtnDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z23_cl_convert_ushort2_rtnDv2_f(<2 x float> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z23_cl_convert_ushort3_rtnDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z19convert_ushort3_rtnDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z23_cl_convert_ushort3_rtnDv3_f(<3 x float> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z23_cl_convert_ushort4_rtnDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z19convert_ushort4_rtnDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z23_cl_convert_ushort4_rtnDv4_f(<4 x float> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z23_cl_convert_ushort8_rtnDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z19convert_ushort8_rtnDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z23_cl_convert_ushort8_rtnDv8_f(<8 x float> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z24_cl_convert_ushort16_rtnDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z20convert_ushort16_rtnDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z24_cl_convert_ushort16_rtnDv16_f(<16 x float> %a)
  ret <16 x i16> %call
}


declare i16 @_Z22_cl_convert_ushort_rtef(float) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z18convert_ushort_rtef(float %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z22_cl_convert_ushort_rtef(float %a)
  ret i16 %call
}


declare <2 x i16> @_Z23_cl_convert_ushort2_rteDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z19convert_ushort2_rteDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z23_cl_convert_ushort2_rteDv2_f(<2 x float> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z23_cl_convert_ushort3_rteDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z19convert_ushort3_rteDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z23_cl_convert_ushort3_rteDv3_f(<3 x float> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z23_cl_convert_ushort4_rteDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z19convert_ushort4_rteDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z23_cl_convert_ushort4_rteDv4_f(<4 x float> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z23_cl_convert_ushort8_rteDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z19convert_ushort8_rteDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z23_cl_convert_ushort8_rteDv8_f(<8 x float> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z24_cl_convert_ushort16_rteDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z20convert_ushort16_rteDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z24_cl_convert_ushort16_rteDv16_f(<16 x float> %a)
  ret <16 x i16> %call
}


declare i16 @_Z22_cl_convert_ushort_rtzf(float) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z18convert_ushort_rtzf(float %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z22_cl_convert_ushort_rtzf(float %a)
  ret i16 %call
}


declare <2 x i16> @_Z23_cl_convert_ushort2_rtzDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z19convert_ushort2_rtzDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z23_cl_convert_ushort2_rtzDv2_f(<2 x float> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z23_cl_convert_ushort3_rtzDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z19convert_ushort3_rtzDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z23_cl_convert_ushort3_rtzDv3_f(<3 x float> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z23_cl_convert_ushort4_rtzDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z19convert_ushort4_rtzDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z23_cl_convert_ushort4_rtzDv4_f(<4 x float> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z23_cl_convert_ushort8_rtzDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z19convert_ushort8_rtzDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z23_cl_convert_ushort8_rtzDv8_f(<8 x float> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z24_cl_convert_ushort16_rtzDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z20convert_ushort16_rtzDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z24_cl_convert_ushort16_rtzDv16_f(<16 x float> %a)
  ret <16 x i16> %call
}


declare i16 @_Z22_cl_convert_ushort_satf(float) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z18convert_ushort_satf(float %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z22_cl_convert_ushort_satf(float %a)
  ret i16 %call
}


declare <2 x i16> @_Z23_cl_convert_ushort2_satDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z19convert_ushort2_satDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z23_cl_convert_ushort2_satDv2_f(<2 x float> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z23_cl_convert_ushort3_satDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z19convert_ushort3_satDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z23_cl_convert_ushort3_satDv3_f(<3 x float> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z23_cl_convert_ushort4_satDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z19convert_ushort4_satDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z23_cl_convert_ushort4_satDv4_f(<4 x float> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z23_cl_convert_ushort8_satDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z19convert_ushort8_satDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z23_cl_convert_ushort8_satDv8_f(<8 x float> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z24_cl_convert_ushort16_satDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z20convert_ushort16_satDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z24_cl_convert_ushort16_satDv16_f(<16 x float> %a)
  ret <16 x i16> %call
}


declare i16 @_Z26_cl_convert_ushort_sat_rtpf(float) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z22convert_ushort_sat_rtpf(float %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z26_cl_convert_ushort_sat_rtpf(float %a)
  ret i16 %call
}


declare <2 x i16> @_Z27_cl_convert_ushort2_sat_rtpDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z23convert_ushort2_sat_rtpDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z27_cl_convert_ushort2_sat_rtpDv2_f(<2 x float> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z27_cl_convert_ushort3_sat_rtpDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z23convert_ushort3_sat_rtpDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z27_cl_convert_ushort3_sat_rtpDv3_f(<3 x float> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z27_cl_convert_ushort4_sat_rtpDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z23convert_ushort4_sat_rtpDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z27_cl_convert_ushort4_sat_rtpDv4_f(<4 x float> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z27_cl_convert_ushort8_sat_rtpDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z23convert_ushort8_sat_rtpDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z27_cl_convert_ushort8_sat_rtpDv8_f(<8 x float> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z28_cl_convert_ushort16_sat_rtpDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z24convert_ushort16_sat_rtpDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z28_cl_convert_ushort16_sat_rtpDv16_f(<16 x float> %a)
  ret <16 x i16> %call
}


declare i16 @_Z26_cl_convert_ushort_sat_rtnf(float) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z22convert_ushort_sat_rtnf(float %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z26_cl_convert_ushort_sat_rtnf(float %a)
  ret i16 %call
}


declare <2 x i16> @_Z27_cl_convert_ushort2_sat_rtnDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z23convert_ushort2_sat_rtnDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z27_cl_convert_ushort2_sat_rtnDv2_f(<2 x float> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z27_cl_convert_ushort3_sat_rtnDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z23convert_ushort3_sat_rtnDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z27_cl_convert_ushort3_sat_rtnDv3_f(<3 x float> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z27_cl_convert_ushort4_sat_rtnDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z23convert_ushort4_sat_rtnDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z27_cl_convert_ushort4_sat_rtnDv4_f(<4 x float> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z27_cl_convert_ushort8_sat_rtnDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z23convert_ushort8_sat_rtnDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z27_cl_convert_ushort8_sat_rtnDv8_f(<8 x float> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z28_cl_convert_ushort16_sat_rtnDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z24convert_ushort16_sat_rtnDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z28_cl_convert_ushort16_sat_rtnDv16_f(<16 x float> %a)
  ret <16 x i16> %call
}


declare i16 @_Z26_cl_convert_ushort_sat_rtef(float) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z22convert_ushort_sat_rtef(float %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z26_cl_convert_ushort_sat_rtef(float %a)
  ret i16 %call
}


declare <2 x i16> @_Z27_cl_convert_ushort2_sat_rteDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z23convert_ushort2_sat_rteDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z27_cl_convert_ushort2_sat_rteDv2_f(<2 x float> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z27_cl_convert_ushort3_sat_rteDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z23convert_ushort3_sat_rteDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z27_cl_convert_ushort3_sat_rteDv3_f(<3 x float> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z27_cl_convert_ushort4_sat_rteDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z23convert_ushort4_sat_rteDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z27_cl_convert_ushort4_sat_rteDv4_f(<4 x float> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z27_cl_convert_ushort8_sat_rteDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z23convert_ushort8_sat_rteDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z27_cl_convert_ushort8_sat_rteDv8_f(<8 x float> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z28_cl_convert_ushort16_sat_rteDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z24convert_ushort16_sat_rteDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z28_cl_convert_ushort16_sat_rteDv16_f(<16 x float> %a)
  ret <16 x i16> %call
}


declare i16 @_Z26_cl_convert_ushort_sat_rtzf(float) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z22convert_ushort_sat_rtzf(float %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z26_cl_convert_ushort_sat_rtzf(float %a)
  ret i16 %call
}


declare <2 x i16> @_Z27_cl_convert_ushort2_sat_rtzDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z23convert_ushort2_sat_rtzDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z27_cl_convert_ushort2_sat_rtzDv2_f(<2 x float> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z27_cl_convert_ushort3_sat_rtzDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z23convert_ushort3_sat_rtzDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z27_cl_convert_ushort3_sat_rtzDv3_f(<3 x float> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z27_cl_convert_ushort4_sat_rtzDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z23convert_ushort4_sat_rtzDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z27_cl_convert_ushort4_sat_rtzDv4_f(<4 x float> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z27_cl_convert_ushort8_sat_rtzDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z23convert_ushort8_sat_rtzDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z27_cl_convert_ushort8_sat_rtzDv8_f(<8 x float> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z28_cl_convert_ushort16_sat_rtzDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z24convert_ushort16_sat_rtzDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z28_cl_convert_ushort16_sat_rtzDv16_f(<16 x float> %a)
  ret <16 x i16> %call
}


declare i16 @_Z18_cl_convert_ushortd(double) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z14convert_ushortd(double %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z18_cl_convert_ushortd(double %a)
  ret i16 %call
}


declare <2 x i16> @_Z19_cl_convert_ushort2Dv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z15convert_ushort2Dv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z19_cl_convert_ushort2Dv2_d(<2 x double> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z19_cl_convert_ushort3Dv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z15convert_ushort3Dv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z19_cl_convert_ushort3Dv3_d(<3 x double> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z19_cl_convert_ushort4Dv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z15convert_ushort4Dv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z19_cl_convert_ushort4Dv4_d(<4 x double> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z19_cl_convert_ushort8Dv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z15convert_ushort8Dv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z19_cl_convert_ushort8Dv8_d(<8 x double> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z20_cl_convert_ushort16Dv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z16convert_ushort16Dv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z20_cl_convert_ushort16Dv16_d(<16 x double> %a)
  ret <16 x i16> %call
}


declare i16 @_Z22_cl_convert_ushort_rtpd(double) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z18convert_ushort_rtpd(double %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z22_cl_convert_ushort_rtpd(double %a)
  ret i16 %call
}


declare <2 x i16> @_Z23_cl_convert_ushort2_rtpDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z19convert_ushort2_rtpDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z23_cl_convert_ushort2_rtpDv2_d(<2 x double> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z23_cl_convert_ushort3_rtpDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z19convert_ushort3_rtpDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z23_cl_convert_ushort3_rtpDv3_d(<3 x double> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z23_cl_convert_ushort4_rtpDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z19convert_ushort4_rtpDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z23_cl_convert_ushort4_rtpDv4_d(<4 x double> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z23_cl_convert_ushort8_rtpDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z19convert_ushort8_rtpDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z23_cl_convert_ushort8_rtpDv8_d(<8 x double> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z24_cl_convert_ushort16_rtpDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z20convert_ushort16_rtpDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z24_cl_convert_ushort16_rtpDv16_d(<16 x double> %a)
  ret <16 x i16> %call
}


declare i16 @_Z22_cl_convert_ushort_rtnd(double) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z18convert_ushort_rtnd(double %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z22_cl_convert_ushort_rtnd(double %a)
  ret i16 %call
}


declare <2 x i16> @_Z23_cl_convert_ushort2_rtnDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z19convert_ushort2_rtnDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z23_cl_convert_ushort2_rtnDv2_d(<2 x double> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z23_cl_convert_ushort3_rtnDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z19convert_ushort3_rtnDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z23_cl_convert_ushort3_rtnDv3_d(<3 x double> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z23_cl_convert_ushort4_rtnDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z19convert_ushort4_rtnDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z23_cl_convert_ushort4_rtnDv4_d(<4 x double> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z23_cl_convert_ushort8_rtnDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z19convert_ushort8_rtnDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z23_cl_convert_ushort8_rtnDv8_d(<8 x double> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z24_cl_convert_ushort16_rtnDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z20convert_ushort16_rtnDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z24_cl_convert_ushort16_rtnDv16_d(<16 x double> %a)
  ret <16 x i16> %call
}


declare i16 @_Z22_cl_convert_ushort_rted(double) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z18convert_ushort_rted(double %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z22_cl_convert_ushort_rted(double %a)
  ret i16 %call
}


declare <2 x i16> @_Z23_cl_convert_ushort2_rteDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z19convert_ushort2_rteDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z23_cl_convert_ushort2_rteDv2_d(<2 x double> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z23_cl_convert_ushort3_rteDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z19convert_ushort3_rteDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z23_cl_convert_ushort3_rteDv3_d(<3 x double> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z23_cl_convert_ushort4_rteDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z19convert_ushort4_rteDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z23_cl_convert_ushort4_rteDv4_d(<4 x double> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z23_cl_convert_ushort8_rteDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z19convert_ushort8_rteDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z23_cl_convert_ushort8_rteDv8_d(<8 x double> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z24_cl_convert_ushort16_rteDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z20convert_ushort16_rteDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z24_cl_convert_ushort16_rteDv16_d(<16 x double> %a)
  ret <16 x i16> %call
}


declare i16 @_Z22_cl_convert_ushort_rtzd(double) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z18convert_ushort_rtzd(double %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z22_cl_convert_ushort_rtzd(double %a)
  ret i16 %call
}


declare <2 x i16> @_Z23_cl_convert_ushort2_rtzDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z19convert_ushort2_rtzDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z23_cl_convert_ushort2_rtzDv2_d(<2 x double> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z23_cl_convert_ushort3_rtzDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z19convert_ushort3_rtzDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z23_cl_convert_ushort3_rtzDv3_d(<3 x double> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z23_cl_convert_ushort4_rtzDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z19convert_ushort4_rtzDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z23_cl_convert_ushort4_rtzDv4_d(<4 x double> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z23_cl_convert_ushort8_rtzDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z19convert_ushort8_rtzDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z23_cl_convert_ushort8_rtzDv8_d(<8 x double> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z24_cl_convert_ushort16_rtzDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z20convert_ushort16_rtzDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z24_cl_convert_ushort16_rtzDv16_d(<16 x double> %a)
  ret <16 x i16> %call
}


declare i16 @_Z22_cl_convert_ushort_satd(double) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z18convert_ushort_satd(double %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z22_cl_convert_ushort_satd(double %a)
  ret i16 %call
}


declare <2 x i16> @_Z23_cl_convert_ushort2_satDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z19convert_ushort2_satDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z23_cl_convert_ushort2_satDv2_d(<2 x double> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z23_cl_convert_ushort3_satDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z19convert_ushort3_satDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z23_cl_convert_ushort3_satDv3_d(<3 x double> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z23_cl_convert_ushort4_satDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z19convert_ushort4_satDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z23_cl_convert_ushort4_satDv4_d(<4 x double> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z23_cl_convert_ushort8_satDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z19convert_ushort8_satDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z23_cl_convert_ushort8_satDv8_d(<8 x double> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z24_cl_convert_ushort16_satDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z20convert_ushort16_satDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z24_cl_convert_ushort16_satDv16_d(<16 x double> %a)
  ret <16 x i16> %call
}


declare i16 @_Z26_cl_convert_ushort_sat_rtpd(double) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z22convert_ushort_sat_rtpd(double %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z26_cl_convert_ushort_sat_rtpd(double %a)
  ret i16 %call
}


declare <2 x i16> @_Z27_cl_convert_ushort2_sat_rtpDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z23convert_ushort2_sat_rtpDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z27_cl_convert_ushort2_sat_rtpDv2_d(<2 x double> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z27_cl_convert_ushort3_sat_rtpDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z23convert_ushort3_sat_rtpDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z27_cl_convert_ushort3_sat_rtpDv3_d(<3 x double> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z27_cl_convert_ushort4_sat_rtpDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z23convert_ushort4_sat_rtpDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z27_cl_convert_ushort4_sat_rtpDv4_d(<4 x double> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z27_cl_convert_ushort8_sat_rtpDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z23convert_ushort8_sat_rtpDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z27_cl_convert_ushort8_sat_rtpDv8_d(<8 x double> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z28_cl_convert_ushort16_sat_rtpDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z24convert_ushort16_sat_rtpDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z28_cl_convert_ushort16_sat_rtpDv16_d(<16 x double> %a)
  ret <16 x i16> %call
}


declare i16 @_Z26_cl_convert_ushort_sat_rtnd(double) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z22convert_ushort_sat_rtnd(double %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z26_cl_convert_ushort_sat_rtnd(double %a)
  ret i16 %call
}


declare <2 x i16> @_Z27_cl_convert_ushort2_sat_rtnDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z23convert_ushort2_sat_rtnDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z27_cl_convert_ushort2_sat_rtnDv2_d(<2 x double> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z27_cl_convert_ushort3_sat_rtnDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z23convert_ushort3_sat_rtnDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z27_cl_convert_ushort3_sat_rtnDv3_d(<3 x double> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z27_cl_convert_ushort4_sat_rtnDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z23convert_ushort4_sat_rtnDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z27_cl_convert_ushort4_sat_rtnDv4_d(<4 x double> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z27_cl_convert_ushort8_sat_rtnDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z23convert_ushort8_sat_rtnDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z27_cl_convert_ushort8_sat_rtnDv8_d(<8 x double> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z28_cl_convert_ushort16_sat_rtnDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z24convert_ushort16_sat_rtnDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z28_cl_convert_ushort16_sat_rtnDv16_d(<16 x double> %a)
  ret <16 x i16> %call
}


declare i16 @_Z26_cl_convert_ushort_sat_rted(double) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z22convert_ushort_sat_rted(double %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z26_cl_convert_ushort_sat_rted(double %a)
  ret i16 %call
}


declare <2 x i16> @_Z27_cl_convert_ushort2_sat_rteDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z23convert_ushort2_sat_rteDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z27_cl_convert_ushort2_sat_rteDv2_d(<2 x double> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z27_cl_convert_ushort3_sat_rteDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z23convert_ushort3_sat_rteDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z27_cl_convert_ushort3_sat_rteDv3_d(<3 x double> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z27_cl_convert_ushort4_sat_rteDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z23convert_ushort4_sat_rteDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z27_cl_convert_ushort4_sat_rteDv4_d(<4 x double> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z27_cl_convert_ushort8_sat_rteDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z23convert_ushort8_sat_rteDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z27_cl_convert_ushort8_sat_rteDv8_d(<8 x double> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z28_cl_convert_ushort16_sat_rteDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z24convert_ushort16_sat_rteDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z28_cl_convert_ushort16_sat_rteDv16_d(<16 x double> %a)
  ret <16 x i16> %call
}


declare i16 @_Z26_cl_convert_ushort_sat_rtzd(double) local_unnamed_addr #0

define spir_func  zeroext i16 @_Z22convert_ushort_sat_rtzd(double %a) local_unnamed_addr #0 {
  %call = tail call i16 @_Z26_cl_convert_ushort_sat_rtzd(double %a)
  ret i16 %call
}


declare <2 x i16> @_Z27_cl_convert_ushort2_sat_rtzDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x i16> @_Z23convert_ushort2_sat_rtzDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i16> @_Z27_cl_convert_ushort2_sat_rtzDv2_d(<2 x double> %a)
  ret <2 x i16> %call
}


declare <3 x i16> @_Z27_cl_convert_ushort3_sat_rtzDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x i16> @_Z23convert_ushort3_sat_rtzDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i16> @_Z27_cl_convert_ushort3_sat_rtzDv3_d(<3 x double> %a)
  ret <3 x i16> %call
}


declare <4 x i16> @_Z27_cl_convert_ushort4_sat_rtzDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x i16> @_Z23convert_ushort4_sat_rtzDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i16> @_Z27_cl_convert_ushort4_sat_rtzDv4_d(<4 x double> %a)
  ret <4 x i16> %call
}


declare <8 x i16> @_Z27_cl_convert_ushort8_sat_rtzDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x i16> @_Z23convert_ushort8_sat_rtzDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i16> @_Z27_cl_convert_ushort8_sat_rtzDv8_d(<8 x double> %a)
  ret <8 x i16> %call
}


declare <16 x i16> @_Z28_cl_convert_ushort16_sat_rtzDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x i16> @_Z24convert_ushort16_sat_rtzDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i16> @_Z28_cl_convert_ushort16_sat_rtzDv16_d(<16 x double> %a)
  ret <16 x i16> %call
}


declare i32 @_Z15_cl_convert_intc(i8) local_unnamed_addr #0

define spir_func i32 @_Z11convert_intc(i8 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z15_cl_convert_intc(i8 %a)
  ret i32 %call
}


declare <2 x i32> @_Z16_cl_convert_int2Dv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z12convert_int2Dv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z16_cl_convert_int2Dv2_c(<2 x i8> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z16_cl_convert_int3Dv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z12convert_int3Dv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z16_cl_convert_int3Dv3_c(<3 x i8> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z16_cl_convert_int4Dv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z12convert_int4Dv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z16_cl_convert_int4Dv4_c(<4 x i8> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z16_cl_convert_int8Dv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z12convert_int8Dv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z16_cl_convert_int8Dv8_c(<8 x i8> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z17_cl_convert_int16Dv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z13convert_int16Dv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z17_cl_convert_int16Dv16_c(<16 x i8> %a)
  ret <16 x i32> %call
}


declare i32 @_Z19_cl_convert_int_rtpc(i8) local_unnamed_addr #0

define spir_func i32 @_Z15convert_int_rtpc(i8 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z19_cl_convert_int_rtpc(i8 %a)
  ret i32 %call
}


declare <2 x i32> @_Z20_cl_convert_int2_rtpDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z16convert_int2_rtpDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z20_cl_convert_int2_rtpDv2_c(<2 x i8> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z20_cl_convert_int3_rtpDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z16convert_int3_rtpDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z20_cl_convert_int3_rtpDv3_c(<3 x i8> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z20_cl_convert_int4_rtpDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z16convert_int4_rtpDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z20_cl_convert_int4_rtpDv4_c(<4 x i8> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z20_cl_convert_int8_rtpDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z16convert_int8_rtpDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z20_cl_convert_int8_rtpDv8_c(<8 x i8> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z21_cl_convert_int16_rtpDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z17convert_int16_rtpDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z21_cl_convert_int16_rtpDv16_c(<16 x i8> %a)
  ret <16 x i32> %call
}


declare i32 @_Z19_cl_convert_int_rtnc(i8) local_unnamed_addr #0

define spir_func i32 @_Z15convert_int_rtnc(i8 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z19_cl_convert_int_rtnc(i8 %a)
  ret i32 %call
}


declare <2 x i32> @_Z20_cl_convert_int2_rtnDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z16convert_int2_rtnDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z20_cl_convert_int2_rtnDv2_c(<2 x i8> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z20_cl_convert_int3_rtnDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z16convert_int3_rtnDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z20_cl_convert_int3_rtnDv3_c(<3 x i8> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z20_cl_convert_int4_rtnDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z16convert_int4_rtnDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z20_cl_convert_int4_rtnDv4_c(<4 x i8> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z20_cl_convert_int8_rtnDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z16convert_int8_rtnDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z20_cl_convert_int8_rtnDv8_c(<8 x i8> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z21_cl_convert_int16_rtnDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z17convert_int16_rtnDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z21_cl_convert_int16_rtnDv16_c(<16 x i8> %a)
  ret <16 x i32> %call
}


declare i32 @_Z19_cl_convert_int_rtec(i8) local_unnamed_addr #0

define spir_func i32 @_Z15convert_int_rtec(i8 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z19_cl_convert_int_rtec(i8 %a)
  ret i32 %call
}


declare <2 x i32> @_Z20_cl_convert_int2_rteDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z16convert_int2_rteDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z20_cl_convert_int2_rteDv2_c(<2 x i8> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z20_cl_convert_int3_rteDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z16convert_int3_rteDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z20_cl_convert_int3_rteDv3_c(<3 x i8> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z20_cl_convert_int4_rteDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z16convert_int4_rteDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z20_cl_convert_int4_rteDv4_c(<4 x i8> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z20_cl_convert_int8_rteDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z16convert_int8_rteDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z20_cl_convert_int8_rteDv8_c(<8 x i8> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z21_cl_convert_int16_rteDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z17convert_int16_rteDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z21_cl_convert_int16_rteDv16_c(<16 x i8> %a)
  ret <16 x i32> %call
}


declare i32 @_Z19_cl_convert_int_rtzc(i8) local_unnamed_addr #0

define spir_func i32 @_Z15convert_int_rtzc(i8 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z19_cl_convert_int_rtzc(i8 %a)
  ret i32 %call
}


declare <2 x i32> @_Z20_cl_convert_int2_rtzDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z16convert_int2_rtzDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z20_cl_convert_int2_rtzDv2_c(<2 x i8> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z20_cl_convert_int3_rtzDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z16convert_int3_rtzDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z20_cl_convert_int3_rtzDv3_c(<3 x i8> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z20_cl_convert_int4_rtzDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z16convert_int4_rtzDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z20_cl_convert_int4_rtzDv4_c(<4 x i8> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z20_cl_convert_int8_rtzDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z16convert_int8_rtzDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z20_cl_convert_int8_rtzDv8_c(<8 x i8> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z21_cl_convert_int16_rtzDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z17convert_int16_rtzDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z21_cl_convert_int16_rtzDv16_c(<16 x i8> %a)
  ret <16 x i32> %call
}


declare i32 @_Z19_cl_convert_int_satc(i8) local_unnamed_addr #0

define spir_func i32 @_Z15convert_int_satc(i8 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z19_cl_convert_int_satc(i8 %a)
  ret i32 %call
}


declare <2 x i32> @_Z20_cl_convert_int2_satDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z16convert_int2_satDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z20_cl_convert_int2_satDv2_c(<2 x i8> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z20_cl_convert_int3_satDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z16convert_int3_satDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z20_cl_convert_int3_satDv3_c(<3 x i8> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z20_cl_convert_int4_satDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z16convert_int4_satDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z20_cl_convert_int4_satDv4_c(<4 x i8> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z20_cl_convert_int8_satDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z16convert_int8_satDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z20_cl_convert_int8_satDv8_c(<8 x i8> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z21_cl_convert_int16_satDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z17convert_int16_satDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z21_cl_convert_int16_satDv16_c(<16 x i8> %a)
  ret <16 x i32> %call
}


declare i32 @_Z23_cl_convert_int_sat_rtpc(i8) local_unnamed_addr #0

define spir_func i32 @_Z19convert_int_sat_rtpc(i8 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z23_cl_convert_int_sat_rtpc(i8 %a)
  ret i32 %call
}


declare <2 x i32> @_Z24_cl_convert_int2_sat_rtpDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z20convert_int2_sat_rtpDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z24_cl_convert_int2_sat_rtpDv2_c(<2 x i8> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z24_cl_convert_int3_sat_rtpDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z20convert_int3_sat_rtpDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z24_cl_convert_int3_sat_rtpDv3_c(<3 x i8> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z24_cl_convert_int4_sat_rtpDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z20convert_int4_sat_rtpDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z24_cl_convert_int4_sat_rtpDv4_c(<4 x i8> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z24_cl_convert_int8_sat_rtpDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z20convert_int8_sat_rtpDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z24_cl_convert_int8_sat_rtpDv8_c(<8 x i8> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z25_cl_convert_int16_sat_rtpDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z21convert_int16_sat_rtpDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z25_cl_convert_int16_sat_rtpDv16_c(<16 x i8> %a)
  ret <16 x i32> %call
}


declare i32 @_Z23_cl_convert_int_sat_rtnc(i8) local_unnamed_addr #0

define spir_func i32 @_Z19convert_int_sat_rtnc(i8 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z23_cl_convert_int_sat_rtnc(i8 %a)
  ret i32 %call
}


declare <2 x i32> @_Z24_cl_convert_int2_sat_rtnDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z20convert_int2_sat_rtnDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z24_cl_convert_int2_sat_rtnDv2_c(<2 x i8> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z24_cl_convert_int3_sat_rtnDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z20convert_int3_sat_rtnDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z24_cl_convert_int3_sat_rtnDv3_c(<3 x i8> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z24_cl_convert_int4_sat_rtnDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z20convert_int4_sat_rtnDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z24_cl_convert_int4_sat_rtnDv4_c(<4 x i8> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z24_cl_convert_int8_sat_rtnDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z20convert_int8_sat_rtnDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z24_cl_convert_int8_sat_rtnDv8_c(<8 x i8> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z25_cl_convert_int16_sat_rtnDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z21convert_int16_sat_rtnDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z25_cl_convert_int16_sat_rtnDv16_c(<16 x i8> %a)
  ret <16 x i32> %call
}


declare i32 @_Z23_cl_convert_int_sat_rtec(i8) local_unnamed_addr #0

define spir_func i32 @_Z19convert_int_sat_rtec(i8 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z23_cl_convert_int_sat_rtec(i8 %a)
  ret i32 %call
}


declare <2 x i32> @_Z24_cl_convert_int2_sat_rteDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z20convert_int2_sat_rteDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z24_cl_convert_int2_sat_rteDv2_c(<2 x i8> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z24_cl_convert_int3_sat_rteDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z20convert_int3_sat_rteDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z24_cl_convert_int3_sat_rteDv3_c(<3 x i8> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z24_cl_convert_int4_sat_rteDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z20convert_int4_sat_rteDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z24_cl_convert_int4_sat_rteDv4_c(<4 x i8> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z24_cl_convert_int8_sat_rteDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z20convert_int8_sat_rteDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z24_cl_convert_int8_sat_rteDv8_c(<8 x i8> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z25_cl_convert_int16_sat_rteDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z21convert_int16_sat_rteDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z25_cl_convert_int16_sat_rteDv16_c(<16 x i8> %a)
  ret <16 x i32> %call
}


declare i32 @_Z23_cl_convert_int_sat_rtzc(i8) local_unnamed_addr #0

define spir_func i32 @_Z19convert_int_sat_rtzc(i8 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z23_cl_convert_int_sat_rtzc(i8 %a)
  ret i32 %call
}


declare <2 x i32> @_Z24_cl_convert_int2_sat_rtzDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z20convert_int2_sat_rtzDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z24_cl_convert_int2_sat_rtzDv2_c(<2 x i8> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z24_cl_convert_int3_sat_rtzDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z20convert_int3_sat_rtzDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z24_cl_convert_int3_sat_rtzDv3_c(<3 x i8> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z24_cl_convert_int4_sat_rtzDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z20convert_int4_sat_rtzDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z24_cl_convert_int4_sat_rtzDv4_c(<4 x i8> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z24_cl_convert_int8_sat_rtzDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z20convert_int8_sat_rtzDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z24_cl_convert_int8_sat_rtzDv8_c(<8 x i8> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z25_cl_convert_int16_sat_rtzDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z21convert_int16_sat_rtzDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z25_cl_convert_int16_sat_rtzDv16_c(<16 x i8> %a)
  ret <16 x i32> %call
}


declare i32 @_Z15_cl_convert_inth(i8) local_unnamed_addr #0

define spir_func i32 @_Z11convert_inth(i8 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z15_cl_convert_inth(i8 %a)
  ret i32 %call
}


declare <2 x i32> @_Z16_cl_convert_int2Dv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z12convert_int2Dv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z16_cl_convert_int2Dv2_h(<2 x i8> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z16_cl_convert_int3Dv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z12convert_int3Dv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z16_cl_convert_int3Dv3_h(<3 x i8> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z16_cl_convert_int4Dv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z12convert_int4Dv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z16_cl_convert_int4Dv4_h(<4 x i8> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z16_cl_convert_int8Dv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z12convert_int8Dv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z16_cl_convert_int8Dv8_h(<8 x i8> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z17_cl_convert_int16Dv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z13convert_int16Dv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z17_cl_convert_int16Dv16_h(<16 x i8> %a)
  ret <16 x i32> %call
}


declare i32 @_Z19_cl_convert_int_rtph(i8) local_unnamed_addr #0

define spir_func i32 @_Z15convert_int_rtph(i8 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z19_cl_convert_int_rtph(i8 %a)
  ret i32 %call
}


declare <2 x i32> @_Z20_cl_convert_int2_rtpDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z16convert_int2_rtpDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z20_cl_convert_int2_rtpDv2_h(<2 x i8> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z20_cl_convert_int3_rtpDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z16convert_int3_rtpDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z20_cl_convert_int3_rtpDv3_h(<3 x i8> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z20_cl_convert_int4_rtpDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z16convert_int4_rtpDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z20_cl_convert_int4_rtpDv4_h(<4 x i8> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z20_cl_convert_int8_rtpDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z16convert_int8_rtpDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z20_cl_convert_int8_rtpDv8_h(<8 x i8> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z21_cl_convert_int16_rtpDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z17convert_int16_rtpDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z21_cl_convert_int16_rtpDv16_h(<16 x i8> %a)
  ret <16 x i32> %call
}


declare i32 @_Z19_cl_convert_int_rtnh(i8) local_unnamed_addr #0

define spir_func i32 @_Z15convert_int_rtnh(i8 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z19_cl_convert_int_rtnh(i8 %a)
  ret i32 %call
}


declare <2 x i32> @_Z20_cl_convert_int2_rtnDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z16convert_int2_rtnDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z20_cl_convert_int2_rtnDv2_h(<2 x i8> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z20_cl_convert_int3_rtnDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z16convert_int3_rtnDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z20_cl_convert_int3_rtnDv3_h(<3 x i8> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z20_cl_convert_int4_rtnDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z16convert_int4_rtnDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z20_cl_convert_int4_rtnDv4_h(<4 x i8> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z20_cl_convert_int8_rtnDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z16convert_int8_rtnDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z20_cl_convert_int8_rtnDv8_h(<8 x i8> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z21_cl_convert_int16_rtnDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z17convert_int16_rtnDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z21_cl_convert_int16_rtnDv16_h(<16 x i8> %a)
  ret <16 x i32> %call
}


declare i32 @_Z19_cl_convert_int_rteh(i8) local_unnamed_addr #0

define spir_func i32 @_Z15convert_int_rteh(i8 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z19_cl_convert_int_rteh(i8 %a)
  ret i32 %call
}


declare <2 x i32> @_Z20_cl_convert_int2_rteDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z16convert_int2_rteDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z20_cl_convert_int2_rteDv2_h(<2 x i8> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z20_cl_convert_int3_rteDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z16convert_int3_rteDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z20_cl_convert_int3_rteDv3_h(<3 x i8> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z20_cl_convert_int4_rteDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z16convert_int4_rteDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z20_cl_convert_int4_rteDv4_h(<4 x i8> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z20_cl_convert_int8_rteDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z16convert_int8_rteDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z20_cl_convert_int8_rteDv8_h(<8 x i8> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z21_cl_convert_int16_rteDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z17convert_int16_rteDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z21_cl_convert_int16_rteDv16_h(<16 x i8> %a)
  ret <16 x i32> %call
}


declare i32 @_Z19_cl_convert_int_rtzh(i8) local_unnamed_addr #0

define spir_func i32 @_Z15convert_int_rtzh(i8 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z19_cl_convert_int_rtzh(i8 %a)
  ret i32 %call
}


declare <2 x i32> @_Z20_cl_convert_int2_rtzDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z16convert_int2_rtzDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z20_cl_convert_int2_rtzDv2_h(<2 x i8> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z20_cl_convert_int3_rtzDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z16convert_int3_rtzDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z20_cl_convert_int3_rtzDv3_h(<3 x i8> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z20_cl_convert_int4_rtzDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z16convert_int4_rtzDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z20_cl_convert_int4_rtzDv4_h(<4 x i8> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z20_cl_convert_int8_rtzDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z16convert_int8_rtzDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z20_cl_convert_int8_rtzDv8_h(<8 x i8> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z21_cl_convert_int16_rtzDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z17convert_int16_rtzDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z21_cl_convert_int16_rtzDv16_h(<16 x i8> %a)
  ret <16 x i32> %call
}


declare i32 @_Z19_cl_convert_int_sath(i8) local_unnamed_addr #0

define spir_func i32 @_Z15convert_int_sath(i8 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z19_cl_convert_int_sath(i8 %a)
  ret i32 %call
}


declare <2 x i32> @_Z20_cl_convert_int2_satDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z16convert_int2_satDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z20_cl_convert_int2_satDv2_h(<2 x i8> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z20_cl_convert_int3_satDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z16convert_int3_satDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z20_cl_convert_int3_satDv3_h(<3 x i8> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z20_cl_convert_int4_satDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z16convert_int4_satDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z20_cl_convert_int4_satDv4_h(<4 x i8> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z20_cl_convert_int8_satDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z16convert_int8_satDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z20_cl_convert_int8_satDv8_h(<8 x i8> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z21_cl_convert_int16_satDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z17convert_int16_satDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z21_cl_convert_int16_satDv16_h(<16 x i8> %a)
  ret <16 x i32> %call
}


declare i32 @_Z23_cl_convert_int_sat_rtph(i8) local_unnamed_addr #0

define spir_func i32 @_Z19convert_int_sat_rtph(i8 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z23_cl_convert_int_sat_rtph(i8 %a)
  ret i32 %call
}


declare <2 x i32> @_Z24_cl_convert_int2_sat_rtpDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z20convert_int2_sat_rtpDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z24_cl_convert_int2_sat_rtpDv2_h(<2 x i8> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z24_cl_convert_int3_sat_rtpDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z20convert_int3_sat_rtpDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z24_cl_convert_int3_sat_rtpDv3_h(<3 x i8> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z24_cl_convert_int4_sat_rtpDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z20convert_int4_sat_rtpDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z24_cl_convert_int4_sat_rtpDv4_h(<4 x i8> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z24_cl_convert_int8_sat_rtpDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z20convert_int8_sat_rtpDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z24_cl_convert_int8_sat_rtpDv8_h(<8 x i8> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z25_cl_convert_int16_sat_rtpDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z21convert_int16_sat_rtpDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z25_cl_convert_int16_sat_rtpDv16_h(<16 x i8> %a)
  ret <16 x i32> %call
}


declare i32 @_Z23_cl_convert_int_sat_rtnh(i8) local_unnamed_addr #0

define spir_func i32 @_Z19convert_int_sat_rtnh(i8 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z23_cl_convert_int_sat_rtnh(i8 %a)
  ret i32 %call
}


declare <2 x i32> @_Z24_cl_convert_int2_sat_rtnDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z20convert_int2_sat_rtnDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z24_cl_convert_int2_sat_rtnDv2_h(<2 x i8> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z24_cl_convert_int3_sat_rtnDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z20convert_int3_sat_rtnDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z24_cl_convert_int3_sat_rtnDv3_h(<3 x i8> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z24_cl_convert_int4_sat_rtnDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z20convert_int4_sat_rtnDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z24_cl_convert_int4_sat_rtnDv4_h(<4 x i8> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z24_cl_convert_int8_sat_rtnDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z20convert_int8_sat_rtnDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z24_cl_convert_int8_sat_rtnDv8_h(<8 x i8> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z25_cl_convert_int16_sat_rtnDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z21convert_int16_sat_rtnDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z25_cl_convert_int16_sat_rtnDv16_h(<16 x i8> %a)
  ret <16 x i32> %call
}


declare i32 @_Z23_cl_convert_int_sat_rteh(i8) local_unnamed_addr #0

define spir_func i32 @_Z19convert_int_sat_rteh(i8 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z23_cl_convert_int_sat_rteh(i8 %a)
  ret i32 %call
}


declare <2 x i32> @_Z24_cl_convert_int2_sat_rteDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z20convert_int2_sat_rteDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z24_cl_convert_int2_sat_rteDv2_h(<2 x i8> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z24_cl_convert_int3_sat_rteDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z20convert_int3_sat_rteDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z24_cl_convert_int3_sat_rteDv3_h(<3 x i8> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z24_cl_convert_int4_sat_rteDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z20convert_int4_sat_rteDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z24_cl_convert_int4_sat_rteDv4_h(<4 x i8> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z24_cl_convert_int8_sat_rteDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z20convert_int8_sat_rteDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z24_cl_convert_int8_sat_rteDv8_h(<8 x i8> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z25_cl_convert_int16_sat_rteDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z21convert_int16_sat_rteDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z25_cl_convert_int16_sat_rteDv16_h(<16 x i8> %a)
  ret <16 x i32> %call
}


declare i32 @_Z23_cl_convert_int_sat_rtzh(i8) local_unnamed_addr #0

define spir_func i32 @_Z19convert_int_sat_rtzh(i8 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z23_cl_convert_int_sat_rtzh(i8 %a)
  ret i32 %call
}


declare <2 x i32> @_Z24_cl_convert_int2_sat_rtzDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z20convert_int2_sat_rtzDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z24_cl_convert_int2_sat_rtzDv2_h(<2 x i8> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z24_cl_convert_int3_sat_rtzDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z20convert_int3_sat_rtzDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z24_cl_convert_int3_sat_rtzDv3_h(<3 x i8> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z24_cl_convert_int4_sat_rtzDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z20convert_int4_sat_rtzDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z24_cl_convert_int4_sat_rtzDv4_h(<4 x i8> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z24_cl_convert_int8_sat_rtzDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z20convert_int8_sat_rtzDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z24_cl_convert_int8_sat_rtzDv8_h(<8 x i8> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z25_cl_convert_int16_sat_rtzDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z21convert_int16_sat_rtzDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z25_cl_convert_int16_sat_rtzDv16_h(<16 x i8> %a)
  ret <16 x i32> %call
}


declare i32 @_Z15_cl_convert_ints(i16) local_unnamed_addr #0

define spir_func i32 @_Z11convert_ints(i16 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z15_cl_convert_ints(i16 %a)
  ret i32 %call
}


declare <2 x i32> @_Z16_cl_convert_int2Dv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z12convert_int2Dv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z16_cl_convert_int2Dv2_s(<2 x i16> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z16_cl_convert_int3Dv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z12convert_int3Dv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z16_cl_convert_int3Dv3_s(<3 x i16> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z16_cl_convert_int4Dv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z12convert_int4Dv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z16_cl_convert_int4Dv4_s(<4 x i16> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z16_cl_convert_int8Dv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z12convert_int8Dv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z16_cl_convert_int8Dv8_s(<8 x i16> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z17_cl_convert_int16Dv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z13convert_int16Dv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z17_cl_convert_int16Dv16_s(<16 x i16> %a)
  ret <16 x i32> %call
}


declare i32 @_Z19_cl_convert_int_rtps(i16) local_unnamed_addr #0

define spir_func i32 @_Z15convert_int_rtps(i16 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z19_cl_convert_int_rtps(i16 %a)
  ret i32 %call
}


declare <2 x i32> @_Z20_cl_convert_int2_rtpDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z16convert_int2_rtpDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z20_cl_convert_int2_rtpDv2_s(<2 x i16> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z20_cl_convert_int3_rtpDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z16convert_int3_rtpDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z20_cl_convert_int3_rtpDv3_s(<3 x i16> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z20_cl_convert_int4_rtpDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z16convert_int4_rtpDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z20_cl_convert_int4_rtpDv4_s(<4 x i16> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z20_cl_convert_int8_rtpDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z16convert_int8_rtpDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z20_cl_convert_int8_rtpDv8_s(<8 x i16> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z21_cl_convert_int16_rtpDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z17convert_int16_rtpDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z21_cl_convert_int16_rtpDv16_s(<16 x i16> %a)
  ret <16 x i32> %call
}


declare i32 @_Z19_cl_convert_int_rtns(i16) local_unnamed_addr #0

define spir_func i32 @_Z15convert_int_rtns(i16 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z19_cl_convert_int_rtns(i16 %a)
  ret i32 %call
}


declare <2 x i32> @_Z20_cl_convert_int2_rtnDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z16convert_int2_rtnDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z20_cl_convert_int2_rtnDv2_s(<2 x i16> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z20_cl_convert_int3_rtnDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z16convert_int3_rtnDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z20_cl_convert_int3_rtnDv3_s(<3 x i16> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z20_cl_convert_int4_rtnDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z16convert_int4_rtnDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z20_cl_convert_int4_rtnDv4_s(<4 x i16> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z20_cl_convert_int8_rtnDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z16convert_int8_rtnDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z20_cl_convert_int8_rtnDv8_s(<8 x i16> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z21_cl_convert_int16_rtnDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z17convert_int16_rtnDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z21_cl_convert_int16_rtnDv16_s(<16 x i16> %a)
  ret <16 x i32> %call
}


declare i32 @_Z19_cl_convert_int_rtes(i16) local_unnamed_addr #0

define spir_func i32 @_Z15convert_int_rtes(i16 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z19_cl_convert_int_rtes(i16 %a)
  ret i32 %call
}


declare <2 x i32> @_Z20_cl_convert_int2_rteDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z16convert_int2_rteDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z20_cl_convert_int2_rteDv2_s(<2 x i16> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z20_cl_convert_int3_rteDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z16convert_int3_rteDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z20_cl_convert_int3_rteDv3_s(<3 x i16> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z20_cl_convert_int4_rteDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z16convert_int4_rteDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z20_cl_convert_int4_rteDv4_s(<4 x i16> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z20_cl_convert_int8_rteDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z16convert_int8_rteDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z20_cl_convert_int8_rteDv8_s(<8 x i16> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z21_cl_convert_int16_rteDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z17convert_int16_rteDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z21_cl_convert_int16_rteDv16_s(<16 x i16> %a)
  ret <16 x i32> %call
}


declare i32 @_Z19_cl_convert_int_rtzs(i16) local_unnamed_addr #0

define spir_func i32 @_Z15convert_int_rtzs(i16 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z19_cl_convert_int_rtzs(i16 %a)
  ret i32 %call
}


declare <2 x i32> @_Z20_cl_convert_int2_rtzDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z16convert_int2_rtzDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z20_cl_convert_int2_rtzDv2_s(<2 x i16> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z20_cl_convert_int3_rtzDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z16convert_int3_rtzDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z20_cl_convert_int3_rtzDv3_s(<3 x i16> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z20_cl_convert_int4_rtzDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z16convert_int4_rtzDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z20_cl_convert_int4_rtzDv4_s(<4 x i16> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z20_cl_convert_int8_rtzDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z16convert_int8_rtzDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z20_cl_convert_int8_rtzDv8_s(<8 x i16> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z21_cl_convert_int16_rtzDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z17convert_int16_rtzDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z21_cl_convert_int16_rtzDv16_s(<16 x i16> %a)
  ret <16 x i32> %call
}


declare i32 @_Z19_cl_convert_int_sats(i16) local_unnamed_addr #0

define spir_func i32 @_Z15convert_int_sats(i16 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z19_cl_convert_int_sats(i16 %a)
  ret i32 %call
}


declare <2 x i32> @_Z20_cl_convert_int2_satDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z16convert_int2_satDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z20_cl_convert_int2_satDv2_s(<2 x i16> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z20_cl_convert_int3_satDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z16convert_int3_satDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z20_cl_convert_int3_satDv3_s(<3 x i16> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z20_cl_convert_int4_satDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z16convert_int4_satDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z20_cl_convert_int4_satDv4_s(<4 x i16> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z20_cl_convert_int8_satDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z16convert_int8_satDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z20_cl_convert_int8_satDv8_s(<8 x i16> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z21_cl_convert_int16_satDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z17convert_int16_satDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z21_cl_convert_int16_satDv16_s(<16 x i16> %a)
  ret <16 x i32> %call
}


declare i32 @_Z23_cl_convert_int_sat_rtps(i16) local_unnamed_addr #0

define spir_func i32 @_Z19convert_int_sat_rtps(i16 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z23_cl_convert_int_sat_rtps(i16 %a)
  ret i32 %call
}


declare <2 x i32> @_Z24_cl_convert_int2_sat_rtpDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z20convert_int2_sat_rtpDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z24_cl_convert_int2_sat_rtpDv2_s(<2 x i16> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z24_cl_convert_int3_sat_rtpDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z20convert_int3_sat_rtpDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z24_cl_convert_int3_sat_rtpDv3_s(<3 x i16> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z24_cl_convert_int4_sat_rtpDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z20convert_int4_sat_rtpDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z24_cl_convert_int4_sat_rtpDv4_s(<4 x i16> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z24_cl_convert_int8_sat_rtpDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z20convert_int8_sat_rtpDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z24_cl_convert_int8_sat_rtpDv8_s(<8 x i16> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z25_cl_convert_int16_sat_rtpDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z21convert_int16_sat_rtpDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z25_cl_convert_int16_sat_rtpDv16_s(<16 x i16> %a)
  ret <16 x i32> %call
}


declare i32 @_Z23_cl_convert_int_sat_rtns(i16) local_unnamed_addr #0

define spir_func i32 @_Z19convert_int_sat_rtns(i16 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z23_cl_convert_int_sat_rtns(i16 %a)
  ret i32 %call
}


declare <2 x i32> @_Z24_cl_convert_int2_sat_rtnDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z20convert_int2_sat_rtnDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z24_cl_convert_int2_sat_rtnDv2_s(<2 x i16> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z24_cl_convert_int3_sat_rtnDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z20convert_int3_sat_rtnDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z24_cl_convert_int3_sat_rtnDv3_s(<3 x i16> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z24_cl_convert_int4_sat_rtnDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z20convert_int4_sat_rtnDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z24_cl_convert_int4_sat_rtnDv4_s(<4 x i16> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z24_cl_convert_int8_sat_rtnDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z20convert_int8_sat_rtnDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z24_cl_convert_int8_sat_rtnDv8_s(<8 x i16> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z25_cl_convert_int16_sat_rtnDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z21convert_int16_sat_rtnDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z25_cl_convert_int16_sat_rtnDv16_s(<16 x i16> %a)
  ret <16 x i32> %call
}


declare i32 @_Z23_cl_convert_int_sat_rtes(i16) local_unnamed_addr #0

define spir_func i32 @_Z19convert_int_sat_rtes(i16 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z23_cl_convert_int_sat_rtes(i16 %a)
  ret i32 %call
}


declare <2 x i32> @_Z24_cl_convert_int2_sat_rteDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z20convert_int2_sat_rteDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z24_cl_convert_int2_sat_rteDv2_s(<2 x i16> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z24_cl_convert_int3_sat_rteDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z20convert_int3_sat_rteDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z24_cl_convert_int3_sat_rteDv3_s(<3 x i16> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z24_cl_convert_int4_sat_rteDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z20convert_int4_sat_rteDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z24_cl_convert_int4_sat_rteDv4_s(<4 x i16> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z24_cl_convert_int8_sat_rteDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z20convert_int8_sat_rteDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z24_cl_convert_int8_sat_rteDv8_s(<8 x i16> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z25_cl_convert_int16_sat_rteDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z21convert_int16_sat_rteDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z25_cl_convert_int16_sat_rteDv16_s(<16 x i16> %a)
  ret <16 x i32> %call
}


declare i32 @_Z23_cl_convert_int_sat_rtzs(i16) local_unnamed_addr #0

define spir_func i32 @_Z19convert_int_sat_rtzs(i16 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z23_cl_convert_int_sat_rtzs(i16 %a)
  ret i32 %call
}


declare <2 x i32> @_Z24_cl_convert_int2_sat_rtzDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z20convert_int2_sat_rtzDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z24_cl_convert_int2_sat_rtzDv2_s(<2 x i16> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z24_cl_convert_int3_sat_rtzDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z20convert_int3_sat_rtzDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z24_cl_convert_int3_sat_rtzDv3_s(<3 x i16> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z24_cl_convert_int4_sat_rtzDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z20convert_int4_sat_rtzDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z24_cl_convert_int4_sat_rtzDv4_s(<4 x i16> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z24_cl_convert_int8_sat_rtzDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z20convert_int8_sat_rtzDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z24_cl_convert_int8_sat_rtzDv8_s(<8 x i16> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z25_cl_convert_int16_sat_rtzDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z21convert_int16_sat_rtzDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z25_cl_convert_int16_sat_rtzDv16_s(<16 x i16> %a)
  ret <16 x i32> %call
}


declare i32 @_Z15_cl_convert_intt(i16) local_unnamed_addr #0

define spir_func i32 @_Z11convert_intt(i16 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z15_cl_convert_intt(i16 %a)
  ret i32 %call
}


declare <2 x i32> @_Z16_cl_convert_int2Dv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z12convert_int2Dv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z16_cl_convert_int2Dv2_t(<2 x i16> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z16_cl_convert_int3Dv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z12convert_int3Dv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z16_cl_convert_int3Dv3_t(<3 x i16> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z16_cl_convert_int4Dv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z12convert_int4Dv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z16_cl_convert_int4Dv4_t(<4 x i16> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z16_cl_convert_int8Dv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z12convert_int8Dv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z16_cl_convert_int8Dv8_t(<8 x i16> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z17_cl_convert_int16Dv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z13convert_int16Dv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z17_cl_convert_int16Dv16_t(<16 x i16> %a)
  ret <16 x i32> %call
}


declare i32 @_Z19_cl_convert_int_rtpt(i16) local_unnamed_addr #0

define spir_func i32 @_Z15convert_int_rtpt(i16 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z19_cl_convert_int_rtpt(i16 %a)
  ret i32 %call
}


declare <2 x i32> @_Z20_cl_convert_int2_rtpDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z16convert_int2_rtpDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z20_cl_convert_int2_rtpDv2_t(<2 x i16> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z20_cl_convert_int3_rtpDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z16convert_int3_rtpDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z20_cl_convert_int3_rtpDv3_t(<3 x i16> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z20_cl_convert_int4_rtpDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z16convert_int4_rtpDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z20_cl_convert_int4_rtpDv4_t(<4 x i16> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z20_cl_convert_int8_rtpDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z16convert_int8_rtpDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z20_cl_convert_int8_rtpDv8_t(<8 x i16> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z21_cl_convert_int16_rtpDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z17convert_int16_rtpDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z21_cl_convert_int16_rtpDv16_t(<16 x i16> %a)
  ret <16 x i32> %call
}


declare i32 @_Z19_cl_convert_int_rtnt(i16) local_unnamed_addr #0

define spir_func i32 @_Z15convert_int_rtnt(i16 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z19_cl_convert_int_rtnt(i16 %a)
  ret i32 %call
}


declare <2 x i32> @_Z20_cl_convert_int2_rtnDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z16convert_int2_rtnDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z20_cl_convert_int2_rtnDv2_t(<2 x i16> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z20_cl_convert_int3_rtnDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z16convert_int3_rtnDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z20_cl_convert_int3_rtnDv3_t(<3 x i16> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z20_cl_convert_int4_rtnDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z16convert_int4_rtnDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z20_cl_convert_int4_rtnDv4_t(<4 x i16> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z20_cl_convert_int8_rtnDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z16convert_int8_rtnDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z20_cl_convert_int8_rtnDv8_t(<8 x i16> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z21_cl_convert_int16_rtnDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z17convert_int16_rtnDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z21_cl_convert_int16_rtnDv16_t(<16 x i16> %a)
  ret <16 x i32> %call
}


declare i32 @_Z19_cl_convert_int_rtet(i16) local_unnamed_addr #0

define spir_func i32 @_Z15convert_int_rtet(i16 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z19_cl_convert_int_rtet(i16 %a)
  ret i32 %call
}


declare <2 x i32> @_Z20_cl_convert_int2_rteDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z16convert_int2_rteDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z20_cl_convert_int2_rteDv2_t(<2 x i16> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z20_cl_convert_int3_rteDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z16convert_int3_rteDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z20_cl_convert_int3_rteDv3_t(<3 x i16> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z20_cl_convert_int4_rteDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z16convert_int4_rteDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z20_cl_convert_int4_rteDv4_t(<4 x i16> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z20_cl_convert_int8_rteDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z16convert_int8_rteDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z20_cl_convert_int8_rteDv8_t(<8 x i16> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z21_cl_convert_int16_rteDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z17convert_int16_rteDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z21_cl_convert_int16_rteDv16_t(<16 x i16> %a)
  ret <16 x i32> %call
}


declare i32 @_Z19_cl_convert_int_rtzt(i16) local_unnamed_addr #0

define spir_func i32 @_Z15convert_int_rtzt(i16 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z19_cl_convert_int_rtzt(i16 %a)
  ret i32 %call
}


declare <2 x i32> @_Z20_cl_convert_int2_rtzDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z16convert_int2_rtzDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z20_cl_convert_int2_rtzDv2_t(<2 x i16> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z20_cl_convert_int3_rtzDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z16convert_int3_rtzDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z20_cl_convert_int3_rtzDv3_t(<3 x i16> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z20_cl_convert_int4_rtzDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z16convert_int4_rtzDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z20_cl_convert_int4_rtzDv4_t(<4 x i16> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z20_cl_convert_int8_rtzDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z16convert_int8_rtzDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z20_cl_convert_int8_rtzDv8_t(<8 x i16> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z21_cl_convert_int16_rtzDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z17convert_int16_rtzDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z21_cl_convert_int16_rtzDv16_t(<16 x i16> %a)
  ret <16 x i32> %call
}


declare i32 @_Z19_cl_convert_int_satt(i16) local_unnamed_addr #0

define spir_func i32 @_Z15convert_int_satt(i16 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z19_cl_convert_int_satt(i16 %a)
  ret i32 %call
}


declare <2 x i32> @_Z20_cl_convert_int2_satDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z16convert_int2_satDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z20_cl_convert_int2_satDv2_t(<2 x i16> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z20_cl_convert_int3_satDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z16convert_int3_satDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z20_cl_convert_int3_satDv3_t(<3 x i16> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z20_cl_convert_int4_satDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z16convert_int4_satDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z20_cl_convert_int4_satDv4_t(<4 x i16> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z20_cl_convert_int8_satDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z16convert_int8_satDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z20_cl_convert_int8_satDv8_t(<8 x i16> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z21_cl_convert_int16_satDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z17convert_int16_satDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z21_cl_convert_int16_satDv16_t(<16 x i16> %a)
  ret <16 x i32> %call
}


declare i32 @_Z23_cl_convert_int_sat_rtpt(i16) local_unnamed_addr #0

define spir_func i32 @_Z19convert_int_sat_rtpt(i16 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z23_cl_convert_int_sat_rtpt(i16 %a)
  ret i32 %call
}


declare <2 x i32> @_Z24_cl_convert_int2_sat_rtpDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z20convert_int2_sat_rtpDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z24_cl_convert_int2_sat_rtpDv2_t(<2 x i16> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z24_cl_convert_int3_sat_rtpDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z20convert_int3_sat_rtpDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z24_cl_convert_int3_sat_rtpDv3_t(<3 x i16> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z24_cl_convert_int4_sat_rtpDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z20convert_int4_sat_rtpDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z24_cl_convert_int4_sat_rtpDv4_t(<4 x i16> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z24_cl_convert_int8_sat_rtpDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z20convert_int8_sat_rtpDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z24_cl_convert_int8_sat_rtpDv8_t(<8 x i16> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z25_cl_convert_int16_sat_rtpDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z21convert_int16_sat_rtpDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z25_cl_convert_int16_sat_rtpDv16_t(<16 x i16> %a)
  ret <16 x i32> %call
}


declare i32 @_Z23_cl_convert_int_sat_rtnt(i16) local_unnamed_addr #0

define spir_func i32 @_Z19convert_int_sat_rtnt(i16 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z23_cl_convert_int_sat_rtnt(i16 %a)
  ret i32 %call
}


declare <2 x i32> @_Z24_cl_convert_int2_sat_rtnDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z20convert_int2_sat_rtnDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z24_cl_convert_int2_sat_rtnDv2_t(<2 x i16> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z24_cl_convert_int3_sat_rtnDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z20convert_int3_sat_rtnDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z24_cl_convert_int3_sat_rtnDv3_t(<3 x i16> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z24_cl_convert_int4_sat_rtnDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z20convert_int4_sat_rtnDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z24_cl_convert_int4_sat_rtnDv4_t(<4 x i16> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z24_cl_convert_int8_sat_rtnDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z20convert_int8_sat_rtnDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z24_cl_convert_int8_sat_rtnDv8_t(<8 x i16> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z25_cl_convert_int16_sat_rtnDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z21convert_int16_sat_rtnDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z25_cl_convert_int16_sat_rtnDv16_t(<16 x i16> %a)
  ret <16 x i32> %call
}


declare i32 @_Z23_cl_convert_int_sat_rtet(i16) local_unnamed_addr #0

define spir_func i32 @_Z19convert_int_sat_rtet(i16 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z23_cl_convert_int_sat_rtet(i16 %a)
  ret i32 %call
}


declare <2 x i32> @_Z24_cl_convert_int2_sat_rteDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z20convert_int2_sat_rteDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z24_cl_convert_int2_sat_rteDv2_t(<2 x i16> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z24_cl_convert_int3_sat_rteDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z20convert_int3_sat_rteDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z24_cl_convert_int3_sat_rteDv3_t(<3 x i16> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z24_cl_convert_int4_sat_rteDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z20convert_int4_sat_rteDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z24_cl_convert_int4_sat_rteDv4_t(<4 x i16> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z24_cl_convert_int8_sat_rteDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z20convert_int8_sat_rteDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z24_cl_convert_int8_sat_rteDv8_t(<8 x i16> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z25_cl_convert_int16_sat_rteDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z21convert_int16_sat_rteDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z25_cl_convert_int16_sat_rteDv16_t(<16 x i16> %a)
  ret <16 x i32> %call
}


declare i32 @_Z23_cl_convert_int_sat_rtzt(i16) local_unnamed_addr #0

define spir_func i32 @_Z19convert_int_sat_rtzt(i16 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z23_cl_convert_int_sat_rtzt(i16 %a)
  ret i32 %call
}


declare <2 x i32> @_Z24_cl_convert_int2_sat_rtzDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z20convert_int2_sat_rtzDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z24_cl_convert_int2_sat_rtzDv2_t(<2 x i16> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z24_cl_convert_int3_sat_rtzDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z20convert_int3_sat_rtzDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z24_cl_convert_int3_sat_rtzDv3_t(<3 x i16> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z24_cl_convert_int4_sat_rtzDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z20convert_int4_sat_rtzDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z24_cl_convert_int4_sat_rtzDv4_t(<4 x i16> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z24_cl_convert_int8_sat_rtzDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z20convert_int8_sat_rtzDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z24_cl_convert_int8_sat_rtzDv8_t(<8 x i16> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z25_cl_convert_int16_sat_rtzDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z21convert_int16_sat_rtzDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z25_cl_convert_int16_sat_rtzDv16_t(<16 x i16> %a)
  ret <16 x i32> %call
}


declare i32 @_Z15_cl_convert_inti(i32) local_unnamed_addr #0

define spir_func i32 @_Z11convert_inti(i32 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z15_cl_convert_inti(i32 %a)
  ret i32 %call
}


declare <2 x i32> @_Z16_cl_convert_int2Dv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z12convert_int2Dv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z16_cl_convert_int2Dv2_i(<2 x i32> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z16_cl_convert_int3Dv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z12convert_int3Dv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z16_cl_convert_int3Dv3_i(<3 x i32> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z16_cl_convert_int4Dv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z12convert_int4Dv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z16_cl_convert_int4Dv4_i(<4 x i32> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z16_cl_convert_int8Dv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z12convert_int8Dv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z16_cl_convert_int8Dv8_i(<8 x i32> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z17_cl_convert_int16Dv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z13convert_int16Dv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z17_cl_convert_int16Dv16_i(<16 x i32> %a)
  ret <16 x i32> %call
}


declare i32 @_Z19_cl_convert_int_rtpi(i32) local_unnamed_addr #0

define spir_func i32 @_Z15convert_int_rtpi(i32 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z19_cl_convert_int_rtpi(i32 %a)
  ret i32 %call
}


declare <2 x i32> @_Z20_cl_convert_int2_rtpDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z16convert_int2_rtpDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z20_cl_convert_int2_rtpDv2_i(<2 x i32> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z20_cl_convert_int3_rtpDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z16convert_int3_rtpDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z20_cl_convert_int3_rtpDv3_i(<3 x i32> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z20_cl_convert_int4_rtpDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z16convert_int4_rtpDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z20_cl_convert_int4_rtpDv4_i(<4 x i32> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z20_cl_convert_int8_rtpDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z16convert_int8_rtpDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z20_cl_convert_int8_rtpDv8_i(<8 x i32> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z21_cl_convert_int16_rtpDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z17convert_int16_rtpDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z21_cl_convert_int16_rtpDv16_i(<16 x i32> %a)
  ret <16 x i32> %call
}


declare i32 @_Z19_cl_convert_int_rtni(i32) local_unnamed_addr #0

define spir_func i32 @_Z15convert_int_rtni(i32 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z19_cl_convert_int_rtni(i32 %a)
  ret i32 %call
}


declare <2 x i32> @_Z20_cl_convert_int2_rtnDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z16convert_int2_rtnDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z20_cl_convert_int2_rtnDv2_i(<2 x i32> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z20_cl_convert_int3_rtnDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z16convert_int3_rtnDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z20_cl_convert_int3_rtnDv3_i(<3 x i32> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z20_cl_convert_int4_rtnDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z16convert_int4_rtnDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z20_cl_convert_int4_rtnDv4_i(<4 x i32> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z20_cl_convert_int8_rtnDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z16convert_int8_rtnDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z20_cl_convert_int8_rtnDv8_i(<8 x i32> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z21_cl_convert_int16_rtnDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z17convert_int16_rtnDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z21_cl_convert_int16_rtnDv16_i(<16 x i32> %a)
  ret <16 x i32> %call
}


declare i32 @_Z19_cl_convert_int_rtei(i32) local_unnamed_addr #0

define spir_func i32 @_Z15convert_int_rtei(i32 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z19_cl_convert_int_rtei(i32 %a)
  ret i32 %call
}


declare <2 x i32> @_Z20_cl_convert_int2_rteDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z16convert_int2_rteDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z20_cl_convert_int2_rteDv2_i(<2 x i32> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z20_cl_convert_int3_rteDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z16convert_int3_rteDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z20_cl_convert_int3_rteDv3_i(<3 x i32> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z20_cl_convert_int4_rteDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z16convert_int4_rteDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z20_cl_convert_int4_rteDv4_i(<4 x i32> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z20_cl_convert_int8_rteDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z16convert_int8_rteDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z20_cl_convert_int8_rteDv8_i(<8 x i32> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z21_cl_convert_int16_rteDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z17convert_int16_rteDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z21_cl_convert_int16_rteDv16_i(<16 x i32> %a)
  ret <16 x i32> %call
}


declare i32 @_Z19_cl_convert_int_rtzi(i32) local_unnamed_addr #0

define spir_func i32 @_Z15convert_int_rtzi(i32 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z19_cl_convert_int_rtzi(i32 %a)
  ret i32 %call
}


declare <2 x i32> @_Z20_cl_convert_int2_rtzDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z16convert_int2_rtzDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z20_cl_convert_int2_rtzDv2_i(<2 x i32> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z20_cl_convert_int3_rtzDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z16convert_int3_rtzDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z20_cl_convert_int3_rtzDv3_i(<3 x i32> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z20_cl_convert_int4_rtzDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z16convert_int4_rtzDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z20_cl_convert_int4_rtzDv4_i(<4 x i32> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z20_cl_convert_int8_rtzDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z16convert_int8_rtzDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z20_cl_convert_int8_rtzDv8_i(<8 x i32> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z21_cl_convert_int16_rtzDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z17convert_int16_rtzDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z21_cl_convert_int16_rtzDv16_i(<16 x i32> %a)
  ret <16 x i32> %call
}


declare i32 @_Z19_cl_convert_int_sati(i32) local_unnamed_addr #0

define spir_func i32 @_Z15convert_int_sati(i32 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z19_cl_convert_int_sati(i32 %a)
  ret i32 %call
}


declare <2 x i32> @_Z20_cl_convert_int2_satDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z16convert_int2_satDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z20_cl_convert_int2_satDv2_i(<2 x i32> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z20_cl_convert_int3_satDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z16convert_int3_satDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z20_cl_convert_int3_satDv3_i(<3 x i32> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z20_cl_convert_int4_satDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z16convert_int4_satDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z20_cl_convert_int4_satDv4_i(<4 x i32> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z20_cl_convert_int8_satDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z16convert_int8_satDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z20_cl_convert_int8_satDv8_i(<8 x i32> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z21_cl_convert_int16_satDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z17convert_int16_satDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z21_cl_convert_int16_satDv16_i(<16 x i32> %a)
  ret <16 x i32> %call
}


declare i32 @_Z23_cl_convert_int_sat_rtpi(i32) local_unnamed_addr #0

define spir_func i32 @_Z19convert_int_sat_rtpi(i32 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z23_cl_convert_int_sat_rtpi(i32 %a)
  ret i32 %call
}


declare <2 x i32> @_Z24_cl_convert_int2_sat_rtpDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z20convert_int2_sat_rtpDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z24_cl_convert_int2_sat_rtpDv2_i(<2 x i32> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z24_cl_convert_int3_sat_rtpDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z20convert_int3_sat_rtpDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z24_cl_convert_int3_sat_rtpDv3_i(<3 x i32> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z24_cl_convert_int4_sat_rtpDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z20convert_int4_sat_rtpDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z24_cl_convert_int4_sat_rtpDv4_i(<4 x i32> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z24_cl_convert_int8_sat_rtpDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z20convert_int8_sat_rtpDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z24_cl_convert_int8_sat_rtpDv8_i(<8 x i32> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z25_cl_convert_int16_sat_rtpDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z21convert_int16_sat_rtpDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z25_cl_convert_int16_sat_rtpDv16_i(<16 x i32> %a)
  ret <16 x i32> %call
}


declare i32 @_Z23_cl_convert_int_sat_rtni(i32) local_unnamed_addr #0

define spir_func i32 @_Z19convert_int_sat_rtni(i32 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z23_cl_convert_int_sat_rtni(i32 %a)
  ret i32 %call
}


declare <2 x i32> @_Z24_cl_convert_int2_sat_rtnDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z20convert_int2_sat_rtnDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z24_cl_convert_int2_sat_rtnDv2_i(<2 x i32> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z24_cl_convert_int3_sat_rtnDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z20convert_int3_sat_rtnDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z24_cl_convert_int3_sat_rtnDv3_i(<3 x i32> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z24_cl_convert_int4_sat_rtnDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z20convert_int4_sat_rtnDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z24_cl_convert_int4_sat_rtnDv4_i(<4 x i32> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z24_cl_convert_int8_sat_rtnDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z20convert_int8_sat_rtnDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z24_cl_convert_int8_sat_rtnDv8_i(<8 x i32> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z25_cl_convert_int16_sat_rtnDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z21convert_int16_sat_rtnDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z25_cl_convert_int16_sat_rtnDv16_i(<16 x i32> %a)
  ret <16 x i32> %call
}


declare i32 @_Z23_cl_convert_int_sat_rtei(i32) local_unnamed_addr #0

define spir_func i32 @_Z19convert_int_sat_rtei(i32 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z23_cl_convert_int_sat_rtei(i32 %a)
  ret i32 %call
}


declare <2 x i32> @_Z24_cl_convert_int2_sat_rteDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z20convert_int2_sat_rteDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z24_cl_convert_int2_sat_rteDv2_i(<2 x i32> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z24_cl_convert_int3_sat_rteDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z20convert_int3_sat_rteDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z24_cl_convert_int3_sat_rteDv3_i(<3 x i32> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z24_cl_convert_int4_sat_rteDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z20convert_int4_sat_rteDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z24_cl_convert_int4_sat_rteDv4_i(<4 x i32> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z24_cl_convert_int8_sat_rteDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z20convert_int8_sat_rteDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z24_cl_convert_int8_sat_rteDv8_i(<8 x i32> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z25_cl_convert_int16_sat_rteDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z21convert_int16_sat_rteDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z25_cl_convert_int16_sat_rteDv16_i(<16 x i32> %a)
  ret <16 x i32> %call
}


declare i32 @_Z23_cl_convert_int_sat_rtzi(i32) local_unnamed_addr #0

define spir_func i32 @_Z19convert_int_sat_rtzi(i32 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z23_cl_convert_int_sat_rtzi(i32 %a)
  ret i32 %call
}


declare <2 x i32> @_Z24_cl_convert_int2_sat_rtzDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z20convert_int2_sat_rtzDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z24_cl_convert_int2_sat_rtzDv2_i(<2 x i32> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z24_cl_convert_int3_sat_rtzDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z20convert_int3_sat_rtzDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z24_cl_convert_int3_sat_rtzDv3_i(<3 x i32> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z24_cl_convert_int4_sat_rtzDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z20convert_int4_sat_rtzDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z24_cl_convert_int4_sat_rtzDv4_i(<4 x i32> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z24_cl_convert_int8_sat_rtzDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z20convert_int8_sat_rtzDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z24_cl_convert_int8_sat_rtzDv8_i(<8 x i32> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z25_cl_convert_int16_sat_rtzDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z21convert_int16_sat_rtzDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z25_cl_convert_int16_sat_rtzDv16_i(<16 x i32> %a)
  ret <16 x i32> %call
}


declare i32 @_Z15_cl_convert_intj(i32) local_unnamed_addr #0

define spir_func i32 @_Z11convert_intj(i32 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z15_cl_convert_intj(i32 %a)
  ret i32 %call
}


declare <2 x i32> @_Z16_cl_convert_int2Dv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z12convert_int2Dv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z16_cl_convert_int2Dv2_j(<2 x i32> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z16_cl_convert_int3Dv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z12convert_int3Dv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z16_cl_convert_int3Dv3_j(<3 x i32> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z16_cl_convert_int4Dv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z12convert_int4Dv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z16_cl_convert_int4Dv4_j(<4 x i32> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z16_cl_convert_int8Dv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z12convert_int8Dv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z16_cl_convert_int8Dv8_j(<8 x i32> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z17_cl_convert_int16Dv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z13convert_int16Dv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z17_cl_convert_int16Dv16_j(<16 x i32> %a)
  ret <16 x i32> %call
}


declare i32 @_Z19_cl_convert_int_rtpj(i32) local_unnamed_addr #0

define spir_func i32 @_Z15convert_int_rtpj(i32 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z19_cl_convert_int_rtpj(i32 %a)
  ret i32 %call
}


declare <2 x i32> @_Z20_cl_convert_int2_rtpDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z16convert_int2_rtpDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z20_cl_convert_int2_rtpDv2_j(<2 x i32> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z20_cl_convert_int3_rtpDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z16convert_int3_rtpDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z20_cl_convert_int3_rtpDv3_j(<3 x i32> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z20_cl_convert_int4_rtpDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z16convert_int4_rtpDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z20_cl_convert_int4_rtpDv4_j(<4 x i32> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z20_cl_convert_int8_rtpDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z16convert_int8_rtpDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z20_cl_convert_int8_rtpDv8_j(<8 x i32> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z21_cl_convert_int16_rtpDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z17convert_int16_rtpDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z21_cl_convert_int16_rtpDv16_j(<16 x i32> %a)
  ret <16 x i32> %call
}


declare i32 @_Z19_cl_convert_int_rtnj(i32) local_unnamed_addr #0

define spir_func i32 @_Z15convert_int_rtnj(i32 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z19_cl_convert_int_rtnj(i32 %a)
  ret i32 %call
}


declare <2 x i32> @_Z20_cl_convert_int2_rtnDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z16convert_int2_rtnDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z20_cl_convert_int2_rtnDv2_j(<2 x i32> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z20_cl_convert_int3_rtnDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z16convert_int3_rtnDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z20_cl_convert_int3_rtnDv3_j(<3 x i32> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z20_cl_convert_int4_rtnDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z16convert_int4_rtnDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z20_cl_convert_int4_rtnDv4_j(<4 x i32> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z20_cl_convert_int8_rtnDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z16convert_int8_rtnDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z20_cl_convert_int8_rtnDv8_j(<8 x i32> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z21_cl_convert_int16_rtnDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z17convert_int16_rtnDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z21_cl_convert_int16_rtnDv16_j(<16 x i32> %a)
  ret <16 x i32> %call
}


declare i32 @_Z19_cl_convert_int_rtej(i32) local_unnamed_addr #0

define spir_func i32 @_Z15convert_int_rtej(i32 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z19_cl_convert_int_rtej(i32 %a)
  ret i32 %call
}


declare <2 x i32> @_Z20_cl_convert_int2_rteDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z16convert_int2_rteDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z20_cl_convert_int2_rteDv2_j(<2 x i32> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z20_cl_convert_int3_rteDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z16convert_int3_rteDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z20_cl_convert_int3_rteDv3_j(<3 x i32> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z20_cl_convert_int4_rteDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z16convert_int4_rteDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z20_cl_convert_int4_rteDv4_j(<4 x i32> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z20_cl_convert_int8_rteDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z16convert_int8_rteDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z20_cl_convert_int8_rteDv8_j(<8 x i32> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z21_cl_convert_int16_rteDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z17convert_int16_rteDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z21_cl_convert_int16_rteDv16_j(<16 x i32> %a)
  ret <16 x i32> %call
}


declare i32 @_Z19_cl_convert_int_rtzj(i32) local_unnamed_addr #0

define spir_func i32 @_Z15convert_int_rtzj(i32 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z19_cl_convert_int_rtzj(i32 %a)
  ret i32 %call
}


declare <2 x i32> @_Z20_cl_convert_int2_rtzDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z16convert_int2_rtzDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z20_cl_convert_int2_rtzDv2_j(<2 x i32> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z20_cl_convert_int3_rtzDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z16convert_int3_rtzDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z20_cl_convert_int3_rtzDv3_j(<3 x i32> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z20_cl_convert_int4_rtzDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z16convert_int4_rtzDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z20_cl_convert_int4_rtzDv4_j(<4 x i32> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z20_cl_convert_int8_rtzDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z16convert_int8_rtzDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z20_cl_convert_int8_rtzDv8_j(<8 x i32> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z21_cl_convert_int16_rtzDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z17convert_int16_rtzDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z21_cl_convert_int16_rtzDv16_j(<16 x i32> %a)
  ret <16 x i32> %call
}


declare i32 @_Z19_cl_convert_int_satj(i32) local_unnamed_addr #0

define spir_func i32 @_Z15convert_int_satj(i32 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z19_cl_convert_int_satj(i32 %a)
  ret i32 %call
}


declare <2 x i32> @_Z20_cl_convert_int2_satDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z16convert_int2_satDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z20_cl_convert_int2_satDv2_j(<2 x i32> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z20_cl_convert_int3_satDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z16convert_int3_satDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z20_cl_convert_int3_satDv3_j(<3 x i32> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z20_cl_convert_int4_satDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z16convert_int4_satDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z20_cl_convert_int4_satDv4_j(<4 x i32> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z20_cl_convert_int8_satDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z16convert_int8_satDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z20_cl_convert_int8_satDv8_j(<8 x i32> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z21_cl_convert_int16_satDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z17convert_int16_satDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z21_cl_convert_int16_satDv16_j(<16 x i32> %a)
  ret <16 x i32> %call
}


declare i32 @_Z23_cl_convert_int_sat_rtpj(i32) local_unnamed_addr #0

define spir_func i32 @_Z19convert_int_sat_rtpj(i32 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z23_cl_convert_int_sat_rtpj(i32 %a)
  ret i32 %call
}


declare <2 x i32> @_Z24_cl_convert_int2_sat_rtpDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z20convert_int2_sat_rtpDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z24_cl_convert_int2_sat_rtpDv2_j(<2 x i32> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z24_cl_convert_int3_sat_rtpDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z20convert_int3_sat_rtpDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z24_cl_convert_int3_sat_rtpDv3_j(<3 x i32> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z24_cl_convert_int4_sat_rtpDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z20convert_int4_sat_rtpDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z24_cl_convert_int4_sat_rtpDv4_j(<4 x i32> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z24_cl_convert_int8_sat_rtpDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z20convert_int8_sat_rtpDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z24_cl_convert_int8_sat_rtpDv8_j(<8 x i32> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z25_cl_convert_int16_sat_rtpDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z21convert_int16_sat_rtpDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z25_cl_convert_int16_sat_rtpDv16_j(<16 x i32> %a)
  ret <16 x i32> %call
}


declare i32 @_Z23_cl_convert_int_sat_rtnj(i32) local_unnamed_addr #0

define spir_func i32 @_Z19convert_int_sat_rtnj(i32 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z23_cl_convert_int_sat_rtnj(i32 %a)
  ret i32 %call
}


declare <2 x i32> @_Z24_cl_convert_int2_sat_rtnDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z20convert_int2_sat_rtnDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z24_cl_convert_int2_sat_rtnDv2_j(<2 x i32> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z24_cl_convert_int3_sat_rtnDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z20convert_int3_sat_rtnDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z24_cl_convert_int3_sat_rtnDv3_j(<3 x i32> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z24_cl_convert_int4_sat_rtnDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z20convert_int4_sat_rtnDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z24_cl_convert_int4_sat_rtnDv4_j(<4 x i32> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z24_cl_convert_int8_sat_rtnDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z20convert_int8_sat_rtnDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z24_cl_convert_int8_sat_rtnDv8_j(<8 x i32> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z25_cl_convert_int16_sat_rtnDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z21convert_int16_sat_rtnDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z25_cl_convert_int16_sat_rtnDv16_j(<16 x i32> %a)
  ret <16 x i32> %call
}


declare i32 @_Z23_cl_convert_int_sat_rtej(i32) local_unnamed_addr #0

define spir_func i32 @_Z19convert_int_sat_rtej(i32 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z23_cl_convert_int_sat_rtej(i32 %a)
  ret i32 %call
}


declare <2 x i32> @_Z24_cl_convert_int2_sat_rteDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z20convert_int2_sat_rteDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z24_cl_convert_int2_sat_rteDv2_j(<2 x i32> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z24_cl_convert_int3_sat_rteDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z20convert_int3_sat_rteDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z24_cl_convert_int3_sat_rteDv3_j(<3 x i32> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z24_cl_convert_int4_sat_rteDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z20convert_int4_sat_rteDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z24_cl_convert_int4_sat_rteDv4_j(<4 x i32> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z24_cl_convert_int8_sat_rteDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z20convert_int8_sat_rteDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z24_cl_convert_int8_sat_rteDv8_j(<8 x i32> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z25_cl_convert_int16_sat_rteDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z21convert_int16_sat_rteDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z25_cl_convert_int16_sat_rteDv16_j(<16 x i32> %a)
  ret <16 x i32> %call
}


declare i32 @_Z23_cl_convert_int_sat_rtzj(i32) local_unnamed_addr #0

define spir_func i32 @_Z19convert_int_sat_rtzj(i32 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z23_cl_convert_int_sat_rtzj(i32 %a)
  ret i32 %call
}


declare <2 x i32> @_Z24_cl_convert_int2_sat_rtzDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z20convert_int2_sat_rtzDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z24_cl_convert_int2_sat_rtzDv2_j(<2 x i32> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z24_cl_convert_int3_sat_rtzDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z20convert_int3_sat_rtzDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z24_cl_convert_int3_sat_rtzDv3_j(<3 x i32> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z24_cl_convert_int4_sat_rtzDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z20convert_int4_sat_rtzDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z24_cl_convert_int4_sat_rtzDv4_j(<4 x i32> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z24_cl_convert_int8_sat_rtzDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z20convert_int8_sat_rtzDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z24_cl_convert_int8_sat_rtzDv8_j(<8 x i32> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z25_cl_convert_int16_sat_rtzDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z21convert_int16_sat_rtzDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z25_cl_convert_int16_sat_rtzDv16_j(<16 x i32> %a)
  ret <16 x i32> %call
}


declare i32 @_Z15_cl_convert_intl(i64) local_unnamed_addr #0

define spir_func i32 @_Z11convert_intl(i64 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z15_cl_convert_intl(i64 %a)
  ret i32 %call
}


declare <2 x i32> @_Z16_cl_convert_int2Dv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z12convert_int2Dv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z16_cl_convert_int2Dv2_l(<2 x i64> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z16_cl_convert_int3Dv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z12convert_int3Dv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z16_cl_convert_int3Dv3_l(<3 x i64> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z16_cl_convert_int4Dv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z12convert_int4Dv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z16_cl_convert_int4Dv4_l(<4 x i64> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z16_cl_convert_int8Dv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z12convert_int8Dv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z16_cl_convert_int8Dv8_l(<8 x i64> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z17_cl_convert_int16Dv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z13convert_int16Dv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z17_cl_convert_int16Dv16_l(<16 x i64> %a)
  ret <16 x i32> %call
}


declare i32 @_Z19_cl_convert_int_rtpl(i64) local_unnamed_addr #0

define spir_func i32 @_Z15convert_int_rtpl(i64 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z19_cl_convert_int_rtpl(i64 %a)
  ret i32 %call
}


declare <2 x i32> @_Z20_cl_convert_int2_rtpDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z16convert_int2_rtpDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z20_cl_convert_int2_rtpDv2_l(<2 x i64> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z20_cl_convert_int3_rtpDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z16convert_int3_rtpDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z20_cl_convert_int3_rtpDv3_l(<3 x i64> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z20_cl_convert_int4_rtpDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z16convert_int4_rtpDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z20_cl_convert_int4_rtpDv4_l(<4 x i64> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z20_cl_convert_int8_rtpDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z16convert_int8_rtpDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z20_cl_convert_int8_rtpDv8_l(<8 x i64> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z21_cl_convert_int16_rtpDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z17convert_int16_rtpDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z21_cl_convert_int16_rtpDv16_l(<16 x i64> %a)
  ret <16 x i32> %call
}


declare i32 @_Z19_cl_convert_int_rtnl(i64) local_unnamed_addr #0

define spir_func i32 @_Z15convert_int_rtnl(i64 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z19_cl_convert_int_rtnl(i64 %a)
  ret i32 %call
}


declare <2 x i32> @_Z20_cl_convert_int2_rtnDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z16convert_int2_rtnDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z20_cl_convert_int2_rtnDv2_l(<2 x i64> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z20_cl_convert_int3_rtnDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z16convert_int3_rtnDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z20_cl_convert_int3_rtnDv3_l(<3 x i64> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z20_cl_convert_int4_rtnDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z16convert_int4_rtnDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z20_cl_convert_int4_rtnDv4_l(<4 x i64> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z20_cl_convert_int8_rtnDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z16convert_int8_rtnDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z20_cl_convert_int8_rtnDv8_l(<8 x i64> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z21_cl_convert_int16_rtnDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z17convert_int16_rtnDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z21_cl_convert_int16_rtnDv16_l(<16 x i64> %a)
  ret <16 x i32> %call
}


declare i32 @_Z19_cl_convert_int_rtel(i64) local_unnamed_addr #0

define spir_func i32 @_Z15convert_int_rtel(i64 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z19_cl_convert_int_rtel(i64 %a)
  ret i32 %call
}


declare <2 x i32> @_Z20_cl_convert_int2_rteDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z16convert_int2_rteDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z20_cl_convert_int2_rteDv2_l(<2 x i64> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z20_cl_convert_int3_rteDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z16convert_int3_rteDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z20_cl_convert_int3_rteDv3_l(<3 x i64> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z20_cl_convert_int4_rteDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z16convert_int4_rteDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z20_cl_convert_int4_rteDv4_l(<4 x i64> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z20_cl_convert_int8_rteDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z16convert_int8_rteDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z20_cl_convert_int8_rteDv8_l(<8 x i64> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z21_cl_convert_int16_rteDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z17convert_int16_rteDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z21_cl_convert_int16_rteDv16_l(<16 x i64> %a)
  ret <16 x i32> %call
}


declare i32 @_Z19_cl_convert_int_rtzl(i64) local_unnamed_addr #0

define spir_func i32 @_Z15convert_int_rtzl(i64 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z19_cl_convert_int_rtzl(i64 %a)
  ret i32 %call
}


declare <2 x i32> @_Z20_cl_convert_int2_rtzDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z16convert_int2_rtzDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z20_cl_convert_int2_rtzDv2_l(<2 x i64> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z20_cl_convert_int3_rtzDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z16convert_int3_rtzDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z20_cl_convert_int3_rtzDv3_l(<3 x i64> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z20_cl_convert_int4_rtzDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z16convert_int4_rtzDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z20_cl_convert_int4_rtzDv4_l(<4 x i64> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z20_cl_convert_int8_rtzDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z16convert_int8_rtzDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z20_cl_convert_int8_rtzDv8_l(<8 x i64> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z21_cl_convert_int16_rtzDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z17convert_int16_rtzDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z21_cl_convert_int16_rtzDv16_l(<16 x i64> %a)
  ret <16 x i32> %call
}


declare i32 @_Z19_cl_convert_int_satl(i64) local_unnamed_addr #0

define spir_func i32 @_Z15convert_int_satl(i64 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z19_cl_convert_int_satl(i64 %a)
  ret i32 %call
}


declare <2 x i32> @_Z20_cl_convert_int2_satDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z16convert_int2_satDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z20_cl_convert_int2_satDv2_l(<2 x i64> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z20_cl_convert_int3_satDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z16convert_int3_satDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z20_cl_convert_int3_satDv3_l(<3 x i64> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z20_cl_convert_int4_satDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z16convert_int4_satDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z20_cl_convert_int4_satDv4_l(<4 x i64> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z20_cl_convert_int8_satDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z16convert_int8_satDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z20_cl_convert_int8_satDv8_l(<8 x i64> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z21_cl_convert_int16_satDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z17convert_int16_satDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z21_cl_convert_int16_satDv16_l(<16 x i64> %a)
  ret <16 x i32> %call
}


declare i32 @_Z23_cl_convert_int_sat_rtpl(i64) local_unnamed_addr #0

define spir_func i32 @_Z19convert_int_sat_rtpl(i64 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z23_cl_convert_int_sat_rtpl(i64 %a)
  ret i32 %call
}


declare <2 x i32> @_Z24_cl_convert_int2_sat_rtpDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z20convert_int2_sat_rtpDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z24_cl_convert_int2_sat_rtpDv2_l(<2 x i64> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z24_cl_convert_int3_sat_rtpDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z20convert_int3_sat_rtpDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z24_cl_convert_int3_sat_rtpDv3_l(<3 x i64> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z24_cl_convert_int4_sat_rtpDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z20convert_int4_sat_rtpDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z24_cl_convert_int4_sat_rtpDv4_l(<4 x i64> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z24_cl_convert_int8_sat_rtpDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z20convert_int8_sat_rtpDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z24_cl_convert_int8_sat_rtpDv8_l(<8 x i64> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z25_cl_convert_int16_sat_rtpDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z21convert_int16_sat_rtpDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z25_cl_convert_int16_sat_rtpDv16_l(<16 x i64> %a)
  ret <16 x i32> %call
}


declare i32 @_Z23_cl_convert_int_sat_rtnl(i64) local_unnamed_addr #0

define spir_func i32 @_Z19convert_int_sat_rtnl(i64 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z23_cl_convert_int_sat_rtnl(i64 %a)
  ret i32 %call
}


declare <2 x i32> @_Z24_cl_convert_int2_sat_rtnDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z20convert_int2_sat_rtnDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z24_cl_convert_int2_sat_rtnDv2_l(<2 x i64> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z24_cl_convert_int3_sat_rtnDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z20convert_int3_sat_rtnDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z24_cl_convert_int3_sat_rtnDv3_l(<3 x i64> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z24_cl_convert_int4_sat_rtnDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z20convert_int4_sat_rtnDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z24_cl_convert_int4_sat_rtnDv4_l(<4 x i64> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z24_cl_convert_int8_sat_rtnDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z20convert_int8_sat_rtnDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z24_cl_convert_int8_sat_rtnDv8_l(<8 x i64> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z25_cl_convert_int16_sat_rtnDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z21convert_int16_sat_rtnDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z25_cl_convert_int16_sat_rtnDv16_l(<16 x i64> %a)
  ret <16 x i32> %call
}


declare i32 @_Z23_cl_convert_int_sat_rtel(i64) local_unnamed_addr #0

define spir_func i32 @_Z19convert_int_sat_rtel(i64 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z23_cl_convert_int_sat_rtel(i64 %a)
  ret i32 %call
}


declare <2 x i32> @_Z24_cl_convert_int2_sat_rteDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z20convert_int2_sat_rteDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z24_cl_convert_int2_sat_rteDv2_l(<2 x i64> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z24_cl_convert_int3_sat_rteDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z20convert_int3_sat_rteDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z24_cl_convert_int3_sat_rteDv3_l(<3 x i64> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z24_cl_convert_int4_sat_rteDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z20convert_int4_sat_rteDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z24_cl_convert_int4_sat_rteDv4_l(<4 x i64> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z24_cl_convert_int8_sat_rteDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z20convert_int8_sat_rteDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z24_cl_convert_int8_sat_rteDv8_l(<8 x i64> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z25_cl_convert_int16_sat_rteDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z21convert_int16_sat_rteDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z25_cl_convert_int16_sat_rteDv16_l(<16 x i64> %a)
  ret <16 x i32> %call
}


declare i32 @_Z23_cl_convert_int_sat_rtzl(i64) local_unnamed_addr #0

define spir_func i32 @_Z19convert_int_sat_rtzl(i64 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z23_cl_convert_int_sat_rtzl(i64 %a)
  ret i32 %call
}


declare <2 x i32> @_Z24_cl_convert_int2_sat_rtzDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z20convert_int2_sat_rtzDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z24_cl_convert_int2_sat_rtzDv2_l(<2 x i64> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z24_cl_convert_int3_sat_rtzDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z20convert_int3_sat_rtzDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z24_cl_convert_int3_sat_rtzDv3_l(<3 x i64> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z24_cl_convert_int4_sat_rtzDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z20convert_int4_sat_rtzDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z24_cl_convert_int4_sat_rtzDv4_l(<4 x i64> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z24_cl_convert_int8_sat_rtzDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z20convert_int8_sat_rtzDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z24_cl_convert_int8_sat_rtzDv8_l(<8 x i64> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z25_cl_convert_int16_sat_rtzDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z21convert_int16_sat_rtzDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z25_cl_convert_int16_sat_rtzDv16_l(<16 x i64> %a)
  ret <16 x i32> %call
}


declare i32 @_Z15_cl_convert_intm(i64) local_unnamed_addr #0

define spir_func i32 @_Z11convert_intm(i64 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z15_cl_convert_intm(i64 %a)
  ret i32 %call
}


declare <2 x i32> @_Z16_cl_convert_int2Dv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z12convert_int2Dv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z16_cl_convert_int2Dv2_m(<2 x i64> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z16_cl_convert_int3Dv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z12convert_int3Dv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z16_cl_convert_int3Dv3_m(<3 x i64> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z16_cl_convert_int4Dv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z12convert_int4Dv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z16_cl_convert_int4Dv4_m(<4 x i64> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z16_cl_convert_int8Dv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z12convert_int8Dv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z16_cl_convert_int8Dv8_m(<8 x i64> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z17_cl_convert_int16Dv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z13convert_int16Dv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z17_cl_convert_int16Dv16_m(<16 x i64> %a)
  ret <16 x i32> %call
}


declare i32 @_Z19_cl_convert_int_rtpm(i64) local_unnamed_addr #0

define spir_func i32 @_Z15convert_int_rtpm(i64 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z19_cl_convert_int_rtpm(i64 %a)
  ret i32 %call
}


declare <2 x i32> @_Z20_cl_convert_int2_rtpDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z16convert_int2_rtpDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z20_cl_convert_int2_rtpDv2_m(<2 x i64> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z20_cl_convert_int3_rtpDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z16convert_int3_rtpDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z20_cl_convert_int3_rtpDv3_m(<3 x i64> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z20_cl_convert_int4_rtpDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z16convert_int4_rtpDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z20_cl_convert_int4_rtpDv4_m(<4 x i64> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z20_cl_convert_int8_rtpDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z16convert_int8_rtpDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z20_cl_convert_int8_rtpDv8_m(<8 x i64> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z21_cl_convert_int16_rtpDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z17convert_int16_rtpDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z21_cl_convert_int16_rtpDv16_m(<16 x i64> %a)
  ret <16 x i32> %call
}


declare i32 @_Z19_cl_convert_int_rtnm(i64) local_unnamed_addr #0

define spir_func i32 @_Z15convert_int_rtnm(i64 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z19_cl_convert_int_rtnm(i64 %a)
  ret i32 %call
}


declare <2 x i32> @_Z20_cl_convert_int2_rtnDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z16convert_int2_rtnDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z20_cl_convert_int2_rtnDv2_m(<2 x i64> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z20_cl_convert_int3_rtnDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z16convert_int3_rtnDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z20_cl_convert_int3_rtnDv3_m(<3 x i64> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z20_cl_convert_int4_rtnDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z16convert_int4_rtnDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z20_cl_convert_int4_rtnDv4_m(<4 x i64> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z20_cl_convert_int8_rtnDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z16convert_int8_rtnDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z20_cl_convert_int8_rtnDv8_m(<8 x i64> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z21_cl_convert_int16_rtnDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z17convert_int16_rtnDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z21_cl_convert_int16_rtnDv16_m(<16 x i64> %a)
  ret <16 x i32> %call
}


declare i32 @_Z19_cl_convert_int_rtem(i64) local_unnamed_addr #0

define spir_func i32 @_Z15convert_int_rtem(i64 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z19_cl_convert_int_rtem(i64 %a)
  ret i32 %call
}


declare <2 x i32> @_Z20_cl_convert_int2_rteDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z16convert_int2_rteDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z20_cl_convert_int2_rteDv2_m(<2 x i64> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z20_cl_convert_int3_rteDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z16convert_int3_rteDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z20_cl_convert_int3_rteDv3_m(<3 x i64> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z20_cl_convert_int4_rteDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z16convert_int4_rteDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z20_cl_convert_int4_rteDv4_m(<4 x i64> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z20_cl_convert_int8_rteDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z16convert_int8_rteDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z20_cl_convert_int8_rteDv8_m(<8 x i64> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z21_cl_convert_int16_rteDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z17convert_int16_rteDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z21_cl_convert_int16_rteDv16_m(<16 x i64> %a)
  ret <16 x i32> %call
}


declare i32 @_Z19_cl_convert_int_rtzm(i64) local_unnamed_addr #0

define spir_func i32 @_Z15convert_int_rtzm(i64 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z19_cl_convert_int_rtzm(i64 %a)
  ret i32 %call
}


declare <2 x i32> @_Z20_cl_convert_int2_rtzDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z16convert_int2_rtzDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z20_cl_convert_int2_rtzDv2_m(<2 x i64> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z20_cl_convert_int3_rtzDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z16convert_int3_rtzDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z20_cl_convert_int3_rtzDv3_m(<3 x i64> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z20_cl_convert_int4_rtzDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z16convert_int4_rtzDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z20_cl_convert_int4_rtzDv4_m(<4 x i64> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z20_cl_convert_int8_rtzDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z16convert_int8_rtzDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z20_cl_convert_int8_rtzDv8_m(<8 x i64> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z21_cl_convert_int16_rtzDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z17convert_int16_rtzDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z21_cl_convert_int16_rtzDv16_m(<16 x i64> %a)
  ret <16 x i32> %call
}


declare i32 @_Z19_cl_convert_int_satm(i64) local_unnamed_addr #0

define spir_func i32 @_Z15convert_int_satm(i64 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z19_cl_convert_int_satm(i64 %a)
  ret i32 %call
}


declare <2 x i32> @_Z20_cl_convert_int2_satDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z16convert_int2_satDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z20_cl_convert_int2_satDv2_m(<2 x i64> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z20_cl_convert_int3_satDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z16convert_int3_satDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z20_cl_convert_int3_satDv3_m(<3 x i64> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z20_cl_convert_int4_satDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z16convert_int4_satDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z20_cl_convert_int4_satDv4_m(<4 x i64> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z20_cl_convert_int8_satDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z16convert_int8_satDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z20_cl_convert_int8_satDv8_m(<8 x i64> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z21_cl_convert_int16_satDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z17convert_int16_satDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z21_cl_convert_int16_satDv16_m(<16 x i64> %a)
  ret <16 x i32> %call
}


declare i32 @_Z23_cl_convert_int_sat_rtpm(i64) local_unnamed_addr #0

define spir_func i32 @_Z19convert_int_sat_rtpm(i64 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z23_cl_convert_int_sat_rtpm(i64 %a)
  ret i32 %call
}


declare <2 x i32> @_Z24_cl_convert_int2_sat_rtpDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z20convert_int2_sat_rtpDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z24_cl_convert_int2_sat_rtpDv2_m(<2 x i64> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z24_cl_convert_int3_sat_rtpDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z20convert_int3_sat_rtpDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z24_cl_convert_int3_sat_rtpDv3_m(<3 x i64> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z24_cl_convert_int4_sat_rtpDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z20convert_int4_sat_rtpDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z24_cl_convert_int4_sat_rtpDv4_m(<4 x i64> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z24_cl_convert_int8_sat_rtpDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z20convert_int8_sat_rtpDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z24_cl_convert_int8_sat_rtpDv8_m(<8 x i64> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z25_cl_convert_int16_sat_rtpDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z21convert_int16_sat_rtpDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z25_cl_convert_int16_sat_rtpDv16_m(<16 x i64> %a)
  ret <16 x i32> %call
}


declare i32 @_Z23_cl_convert_int_sat_rtnm(i64) local_unnamed_addr #0

define spir_func i32 @_Z19convert_int_sat_rtnm(i64 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z23_cl_convert_int_sat_rtnm(i64 %a)
  ret i32 %call
}


declare <2 x i32> @_Z24_cl_convert_int2_sat_rtnDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z20convert_int2_sat_rtnDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z24_cl_convert_int2_sat_rtnDv2_m(<2 x i64> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z24_cl_convert_int3_sat_rtnDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z20convert_int3_sat_rtnDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z24_cl_convert_int3_sat_rtnDv3_m(<3 x i64> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z24_cl_convert_int4_sat_rtnDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z20convert_int4_sat_rtnDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z24_cl_convert_int4_sat_rtnDv4_m(<4 x i64> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z24_cl_convert_int8_sat_rtnDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z20convert_int8_sat_rtnDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z24_cl_convert_int8_sat_rtnDv8_m(<8 x i64> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z25_cl_convert_int16_sat_rtnDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z21convert_int16_sat_rtnDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z25_cl_convert_int16_sat_rtnDv16_m(<16 x i64> %a)
  ret <16 x i32> %call
}


declare i32 @_Z23_cl_convert_int_sat_rtem(i64) local_unnamed_addr #0

define spir_func i32 @_Z19convert_int_sat_rtem(i64 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z23_cl_convert_int_sat_rtem(i64 %a)
  ret i32 %call
}


declare <2 x i32> @_Z24_cl_convert_int2_sat_rteDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z20convert_int2_sat_rteDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z24_cl_convert_int2_sat_rteDv2_m(<2 x i64> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z24_cl_convert_int3_sat_rteDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z20convert_int3_sat_rteDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z24_cl_convert_int3_sat_rteDv3_m(<3 x i64> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z24_cl_convert_int4_sat_rteDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z20convert_int4_sat_rteDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z24_cl_convert_int4_sat_rteDv4_m(<4 x i64> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z24_cl_convert_int8_sat_rteDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z20convert_int8_sat_rteDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z24_cl_convert_int8_sat_rteDv8_m(<8 x i64> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z25_cl_convert_int16_sat_rteDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z21convert_int16_sat_rteDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z25_cl_convert_int16_sat_rteDv16_m(<16 x i64> %a)
  ret <16 x i32> %call
}


declare i32 @_Z23_cl_convert_int_sat_rtzm(i64) local_unnamed_addr #0

define spir_func i32 @_Z19convert_int_sat_rtzm(i64 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z23_cl_convert_int_sat_rtzm(i64 %a)
  ret i32 %call
}


declare <2 x i32> @_Z24_cl_convert_int2_sat_rtzDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z20convert_int2_sat_rtzDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z24_cl_convert_int2_sat_rtzDv2_m(<2 x i64> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z24_cl_convert_int3_sat_rtzDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z20convert_int3_sat_rtzDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z24_cl_convert_int3_sat_rtzDv3_m(<3 x i64> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z24_cl_convert_int4_sat_rtzDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z20convert_int4_sat_rtzDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z24_cl_convert_int4_sat_rtzDv4_m(<4 x i64> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z24_cl_convert_int8_sat_rtzDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z20convert_int8_sat_rtzDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z24_cl_convert_int8_sat_rtzDv8_m(<8 x i64> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z25_cl_convert_int16_sat_rtzDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z21convert_int16_sat_rtzDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z25_cl_convert_int16_sat_rtzDv16_m(<16 x i64> %a)
  ret <16 x i32> %call
}


declare i32 @_Z15_cl_convert_intf(float) local_unnamed_addr #0

define spir_func i32 @_Z11convert_intf(float %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z15_cl_convert_intf(float %a)
  ret i32 %call
}


declare <2 x i32> @_Z16_cl_convert_int2Dv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z12convert_int2Dv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z16_cl_convert_int2Dv2_f(<2 x float> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z16_cl_convert_int3Dv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z12convert_int3Dv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z16_cl_convert_int3Dv3_f(<3 x float> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z16_cl_convert_int4Dv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z12convert_int4Dv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z16_cl_convert_int4Dv4_f(<4 x float> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z16_cl_convert_int8Dv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z12convert_int8Dv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z16_cl_convert_int8Dv8_f(<8 x float> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z17_cl_convert_int16Dv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z13convert_int16Dv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z17_cl_convert_int16Dv16_f(<16 x float> %a)
  ret <16 x i32> %call
}


declare i32 @_Z19_cl_convert_int_rtpf(float) local_unnamed_addr #0

define spir_func i32 @_Z15convert_int_rtpf(float %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z19_cl_convert_int_rtpf(float %a)
  ret i32 %call
}


declare <2 x i32> @_Z20_cl_convert_int2_rtpDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z16convert_int2_rtpDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z20_cl_convert_int2_rtpDv2_f(<2 x float> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z20_cl_convert_int3_rtpDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z16convert_int3_rtpDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z20_cl_convert_int3_rtpDv3_f(<3 x float> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z20_cl_convert_int4_rtpDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z16convert_int4_rtpDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z20_cl_convert_int4_rtpDv4_f(<4 x float> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z20_cl_convert_int8_rtpDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z16convert_int8_rtpDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z20_cl_convert_int8_rtpDv8_f(<8 x float> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z21_cl_convert_int16_rtpDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z17convert_int16_rtpDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z21_cl_convert_int16_rtpDv16_f(<16 x float> %a)
  ret <16 x i32> %call
}


declare i32 @_Z19_cl_convert_int_rtnf(float) local_unnamed_addr #0

define spir_func i32 @_Z15convert_int_rtnf(float %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z19_cl_convert_int_rtnf(float %a)
  ret i32 %call
}


declare <2 x i32> @_Z20_cl_convert_int2_rtnDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z16convert_int2_rtnDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z20_cl_convert_int2_rtnDv2_f(<2 x float> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z20_cl_convert_int3_rtnDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z16convert_int3_rtnDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z20_cl_convert_int3_rtnDv3_f(<3 x float> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z20_cl_convert_int4_rtnDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z16convert_int4_rtnDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z20_cl_convert_int4_rtnDv4_f(<4 x float> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z20_cl_convert_int8_rtnDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z16convert_int8_rtnDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z20_cl_convert_int8_rtnDv8_f(<8 x float> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z21_cl_convert_int16_rtnDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z17convert_int16_rtnDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z21_cl_convert_int16_rtnDv16_f(<16 x float> %a)
  ret <16 x i32> %call
}


declare i32 @_Z19_cl_convert_int_rtef(float) local_unnamed_addr #0

define spir_func i32 @_Z15convert_int_rtef(float %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z19_cl_convert_int_rtef(float %a)
  ret i32 %call
}


declare <2 x i32> @_Z20_cl_convert_int2_rteDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z16convert_int2_rteDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z20_cl_convert_int2_rteDv2_f(<2 x float> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z20_cl_convert_int3_rteDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z16convert_int3_rteDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z20_cl_convert_int3_rteDv3_f(<3 x float> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z20_cl_convert_int4_rteDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z16convert_int4_rteDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z20_cl_convert_int4_rteDv4_f(<4 x float> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z20_cl_convert_int8_rteDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z16convert_int8_rteDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z20_cl_convert_int8_rteDv8_f(<8 x float> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z21_cl_convert_int16_rteDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z17convert_int16_rteDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z21_cl_convert_int16_rteDv16_f(<16 x float> %a)
  ret <16 x i32> %call
}


declare i32 @_Z19_cl_convert_int_rtzf(float) local_unnamed_addr #0

define spir_func i32 @_Z15convert_int_rtzf(float %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z19_cl_convert_int_rtzf(float %a)
  ret i32 %call
}


declare <2 x i32> @_Z20_cl_convert_int2_rtzDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z16convert_int2_rtzDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z20_cl_convert_int2_rtzDv2_f(<2 x float> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z20_cl_convert_int3_rtzDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z16convert_int3_rtzDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z20_cl_convert_int3_rtzDv3_f(<3 x float> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z20_cl_convert_int4_rtzDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z16convert_int4_rtzDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z20_cl_convert_int4_rtzDv4_f(<4 x float> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z20_cl_convert_int8_rtzDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z16convert_int8_rtzDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z20_cl_convert_int8_rtzDv8_f(<8 x float> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z21_cl_convert_int16_rtzDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z17convert_int16_rtzDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z21_cl_convert_int16_rtzDv16_f(<16 x float> %a)
  ret <16 x i32> %call
}


declare i32 @_Z19_cl_convert_int_satf(float) local_unnamed_addr #0

define spir_func i32 @_Z15convert_int_satf(float %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z19_cl_convert_int_satf(float %a)
  ret i32 %call
}


declare <2 x i32> @_Z20_cl_convert_int2_satDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z16convert_int2_satDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z20_cl_convert_int2_satDv2_f(<2 x float> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z20_cl_convert_int3_satDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z16convert_int3_satDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z20_cl_convert_int3_satDv3_f(<3 x float> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z20_cl_convert_int4_satDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z16convert_int4_satDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z20_cl_convert_int4_satDv4_f(<4 x float> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z20_cl_convert_int8_satDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z16convert_int8_satDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z20_cl_convert_int8_satDv8_f(<8 x float> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z21_cl_convert_int16_satDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z17convert_int16_satDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z21_cl_convert_int16_satDv16_f(<16 x float> %a)
  ret <16 x i32> %call
}


declare i32 @_Z23_cl_convert_int_sat_rtpf(float) local_unnamed_addr #0

define spir_func i32 @_Z19convert_int_sat_rtpf(float %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z23_cl_convert_int_sat_rtpf(float %a)
  ret i32 %call
}


declare <2 x i32> @_Z24_cl_convert_int2_sat_rtpDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z20convert_int2_sat_rtpDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z24_cl_convert_int2_sat_rtpDv2_f(<2 x float> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z24_cl_convert_int3_sat_rtpDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z20convert_int3_sat_rtpDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z24_cl_convert_int3_sat_rtpDv3_f(<3 x float> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z24_cl_convert_int4_sat_rtpDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z20convert_int4_sat_rtpDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z24_cl_convert_int4_sat_rtpDv4_f(<4 x float> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z24_cl_convert_int8_sat_rtpDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z20convert_int8_sat_rtpDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z24_cl_convert_int8_sat_rtpDv8_f(<8 x float> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z25_cl_convert_int16_sat_rtpDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z21convert_int16_sat_rtpDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z25_cl_convert_int16_sat_rtpDv16_f(<16 x float> %a)
  ret <16 x i32> %call
}


declare i32 @_Z23_cl_convert_int_sat_rtnf(float) local_unnamed_addr #0

define spir_func i32 @_Z19convert_int_sat_rtnf(float %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z23_cl_convert_int_sat_rtnf(float %a)
  ret i32 %call
}


declare <2 x i32> @_Z24_cl_convert_int2_sat_rtnDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z20convert_int2_sat_rtnDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z24_cl_convert_int2_sat_rtnDv2_f(<2 x float> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z24_cl_convert_int3_sat_rtnDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z20convert_int3_sat_rtnDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z24_cl_convert_int3_sat_rtnDv3_f(<3 x float> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z24_cl_convert_int4_sat_rtnDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z20convert_int4_sat_rtnDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z24_cl_convert_int4_sat_rtnDv4_f(<4 x float> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z24_cl_convert_int8_sat_rtnDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z20convert_int8_sat_rtnDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z24_cl_convert_int8_sat_rtnDv8_f(<8 x float> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z25_cl_convert_int16_sat_rtnDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z21convert_int16_sat_rtnDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z25_cl_convert_int16_sat_rtnDv16_f(<16 x float> %a)
  ret <16 x i32> %call
}


declare i32 @_Z23_cl_convert_int_sat_rtef(float) local_unnamed_addr #0

define spir_func i32 @_Z19convert_int_sat_rtef(float %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z23_cl_convert_int_sat_rtef(float %a)
  ret i32 %call
}


declare <2 x i32> @_Z24_cl_convert_int2_sat_rteDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z20convert_int2_sat_rteDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z24_cl_convert_int2_sat_rteDv2_f(<2 x float> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z24_cl_convert_int3_sat_rteDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z20convert_int3_sat_rteDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z24_cl_convert_int3_sat_rteDv3_f(<3 x float> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z24_cl_convert_int4_sat_rteDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z20convert_int4_sat_rteDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z24_cl_convert_int4_sat_rteDv4_f(<4 x float> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z24_cl_convert_int8_sat_rteDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z20convert_int8_sat_rteDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z24_cl_convert_int8_sat_rteDv8_f(<8 x float> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z25_cl_convert_int16_sat_rteDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z21convert_int16_sat_rteDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z25_cl_convert_int16_sat_rteDv16_f(<16 x float> %a)
  ret <16 x i32> %call
}


declare i32 @_Z23_cl_convert_int_sat_rtzf(float) local_unnamed_addr #0

define spir_func i32 @_Z19convert_int_sat_rtzf(float %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z23_cl_convert_int_sat_rtzf(float %a)
  ret i32 %call
}


declare <2 x i32> @_Z24_cl_convert_int2_sat_rtzDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z20convert_int2_sat_rtzDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z24_cl_convert_int2_sat_rtzDv2_f(<2 x float> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z24_cl_convert_int3_sat_rtzDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z20convert_int3_sat_rtzDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z24_cl_convert_int3_sat_rtzDv3_f(<3 x float> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z24_cl_convert_int4_sat_rtzDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z20convert_int4_sat_rtzDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z24_cl_convert_int4_sat_rtzDv4_f(<4 x float> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z24_cl_convert_int8_sat_rtzDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z20convert_int8_sat_rtzDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z24_cl_convert_int8_sat_rtzDv8_f(<8 x float> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z25_cl_convert_int16_sat_rtzDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z21convert_int16_sat_rtzDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z25_cl_convert_int16_sat_rtzDv16_f(<16 x float> %a)
  ret <16 x i32> %call
}


declare i32 @_Z15_cl_convert_intd(double) local_unnamed_addr #0

define spir_func i32 @_Z11convert_intd(double %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z15_cl_convert_intd(double %a)
  ret i32 %call
}


declare <2 x i32> @_Z16_cl_convert_int2Dv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z12convert_int2Dv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z16_cl_convert_int2Dv2_d(<2 x double> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z16_cl_convert_int3Dv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z12convert_int3Dv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z16_cl_convert_int3Dv3_d(<3 x double> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z16_cl_convert_int4Dv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z12convert_int4Dv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z16_cl_convert_int4Dv4_d(<4 x double> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z16_cl_convert_int8Dv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z12convert_int8Dv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z16_cl_convert_int8Dv8_d(<8 x double> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z17_cl_convert_int16Dv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z13convert_int16Dv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z17_cl_convert_int16Dv16_d(<16 x double> %a)
  ret <16 x i32> %call
}


declare i32 @_Z19_cl_convert_int_rtpd(double) local_unnamed_addr #0

define spir_func i32 @_Z15convert_int_rtpd(double %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z19_cl_convert_int_rtpd(double %a)
  ret i32 %call
}


declare <2 x i32> @_Z20_cl_convert_int2_rtpDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z16convert_int2_rtpDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z20_cl_convert_int2_rtpDv2_d(<2 x double> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z20_cl_convert_int3_rtpDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z16convert_int3_rtpDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z20_cl_convert_int3_rtpDv3_d(<3 x double> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z20_cl_convert_int4_rtpDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z16convert_int4_rtpDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z20_cl_convert_int4_rtpDv4_d(<4 x double> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z20_cl_convert_int8_rtpDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z16convert_int8_rtpDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z20_cl_convert_int8_rtpDv8_d(<8 x double> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z21_cl_convert_int16_rtpDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z17convert_int16_rtpDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z21_cl_convert_int16_rtpDv16_d(<16 x double> %a)
  ret <16 x i32> %call
}


declare i32 @_Z19_cl_convert_int_rtnd(double) local_unnamed_addr #0

define spir_func i32 @_Z15convert_int_rtnd(double %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z19_cl_convert_int_rtnd(double %a)
  ret i32 %call
}


declare <2 x i32> @_Z20_cl_convert_int2_rtnDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z16convert_int2_rtnDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z20_cl_convert_int2_rtnDv2_d(<2 x double> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z20_cl_convert_int3_rtnDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z16convert_int3_rtnDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z20_cl_convert_int3_rtnDv3_d(<3 x double> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z20_cl_convert_int4_rtnDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z16convert_int4_rtnDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z20_cl_convert_int4_rtnDv4_d(<4 x double> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z20_cl_convert_int8_rtnDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z16convert_int8_rtnDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z20_cl_convert_int8_rtnDv8_d(<8 x double> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z21_cl_convert_int16_rtnDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z17convert_int16_rtnDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z21_cl_convert_int16_rtnDv16_d(<16 x double> %a)
  ret <16 x i32> %call
}


declare i32 @_Z19_cl_convert_int_rted(double) local_unnamed_addr #0

define spir_func i32 @_Z15convert_int_rted(double %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z19_cl_convert_int_rted(double %a)
  ret i32 %call
}


declare <2 x i32> @_Z20_cl_convert_int2_rteDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z16convert_int2_rteDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z20_cl_convert_int2_rteDv2_d(<2 x double> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z20_cl_convert_int3_rteDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z16convert_int3_rteDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z20_cl_convert_int3_rteDv3_d(<3 x double> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z20_cl_convert_int4_rteDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z16convert_int4_rteDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z20_cl_convert_int4_rteDv4_d(<4 x double> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z20_cl_convert_int8_rteDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z16convert_int8_rteDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z20_cl_convert_int8_rteDv8_d(<8 x double> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z21_cl_convert_int16_rteDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z17convert_int16_rteDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z21_cl_convert_int16_rteDv16_d(<16 x double> %a)
  ret <16 x i32> %call
}


declare i32 @_Z19_cl_convert_int_rtzd(double) local_unnamed_addr #0

define spir_func i32 @_Z15convert_int_rtzd(double %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z19_cl_convert_int_rtzd(double %a)
  ret i32 %call
}


declare <2 x i32> @_Z20_cl_convert_int2_rtzDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z16convert_int2_rtzDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z20_cl_convert_int2_rtzDv2_d(<2 x double> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z20_cl_convert_int3_rtzDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z16convert_int3_rtzDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z20_cl_convert_int3_rtzDv3_d(<3 x double> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z20_cl_convert_int4_rtzDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z16convert_int4_rtzDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z20_cl_convert_int4_rtzDv4_d(<4 x double> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z20_cl_convert_int8_rtzDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z16convert_int8_rtzDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z20_cl_convert_int8_rtzDv8_d(<8 x double> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z21_cl_convert_int16_rtzDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z17convert_int16_rtzDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z21_cl_convert_int16_rtzDv16_d(<16 x double> %a)
  ret <16 x i32> %call
}


declare i32 @_Z19_cl_convert_int_satd(double) local_unnamed_addr #0

define spir_func i32 @_Z15convert_int_satd(double %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z19_cl_convert_int_satd(double %a)
  ret i32 %call
}


declare <2 x i32> @_Z20_cl_convert_int2_satDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z16convert_int2_satDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z20_cl_convert_int2_satDv2_d(<2 x double> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z20_cl_convert_int3_satDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z16convert_int3_satDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z20_cl_convert_int3_satDv3_d(<3 x double> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z20_cl_convert_int4_satDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z16convert_int4_satDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z20_cl_convert_int4_satDv4_d(<4 x double> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z20_cl_convert_int8_satDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z16convert_int8_satDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z20_cl_convert_int8_satDv8_d(<8 x double> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z21_cl_convert_int16_satDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z17convert_int16_satDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z21_cl_convert_int16_satDv16_d(<16 x double> %a)
  ret <16 x i32> %call
}


declare i32 @_Z23_cl_convert_int_sat_rtpd(double) local_unnamed_addr #0

define spir_func i32 @_Z19convert_int_sat_rtpd(double %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z23_cl_convert_int_sat_rtpd(double %a)
  ret i32 %call
}


declare <2 x i32> @_Z24_cl_convert_int2_sat_rtpDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z20convert_int2_sat_rtpDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z24_cl_convert_int2_sat_rtpDv2_d(<2 x double> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z24_cl_convert_int3_sat_rtpDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z20convert_int3_sat_rtpDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z24_cl_convert_int3_sat_rtpDv3_d(<3 x double> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z24_cl_convert_int4_sat_rtpDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z20convert_int4_sat_rtpDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z24_cl_convert_int4_sat_rtpDv4_d(<4 x double> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z24_cl_convert_int8_sat_rtpDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z20convert_int8_sat_rtpDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z24_cl_convert_int8_sat_rtpDv8_d(<8 x double> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z25_cl_convert_int16_sat_rtpDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z21convert_int16_sat_rtpDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z25_cl_convert_int16_sat_rtpDv16_d(<16 x double> %a)
  ret <16 x i32> %call
}


declare i32 @_Z23_cl_convert_int_sat_rtnd(double) local_unnamed_addr #0

define spir_func i32 @_Z19convert_int_sat_rtnd(double %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z23_cl_convert_int_sat_rtnd(double %a)
  ret i32 %call
}


declare <2 x i32> @_Z24_cl_convert_int2_sat_rtnDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z20convert_int2_sat_rtnDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z24_cl_convert_int2_sat_rtnDv2_d(<2 x double> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z24_cl_convert_int3_sat_rtnDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z20convert_int3_sat_rtnDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z24_cl_convert_int3_sat_rtnDv3_d(<3 x double> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z24_cl_convert_int4_sat_rtnDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z20convert_int4_sat_rtnDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z24_cl_convert_int4_sat_rtnDv4_d(<4 x double> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z24_cl_convert_int8_sat_rtnDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z20convert_int8_sat_rtnDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z24_cl_convert_int8_sat_rtnDv8_d(<8 x double> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z25_cl_convert_int16_sat_rtnDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z21convert_int16_sat_rtnDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z25_cl_convert_int16_sat_rtnDv16_d(<16 x double> %a)
  ret <16 x i32> %call
}


declare i32 @_Z23_cl_convert_int_sat_rted(double) local_unnamed_addr #0

define spir_func i32 @_Z19convert_int_sat_rted(double %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z23_cl_convert_int_sat_rted(double %a)
  ret i32 %call
}


declare <2 x i32> @_Z24_cl_convert_int2_sat_rteDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z20convert_int2_sat_rteDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z24_cl_convert_int2_sat_rteDv2_d(<2 x double> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z24_cl_convert_int3_sat_rteDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z20convert_int3_sat_rteDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z24_cl_convert_int3_sat_rteDv3_d(<3 x double> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z24_cl_convert_int4_sat_rteDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z20convert_int4_sat_rteDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z24_cl_convert_int4_sat_rteDv4_d(<4 x double> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z24_cl_convert_int8_sat_rteDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z20convert_int8_sat_rteDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z24_cl_convert_int8_sat_rteDv8_d(<8 x double> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z25_cl_convert_int16_sat_rteDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z21convert_int16_sat_rteDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z25_cl_convert_int16_sat_rteDv16_d(<16 x double> %a)
  ret <16 x i32> %call
}


declare i32 @_Z23_cl_convert_int_sat_rtzd(double) local_unnamed_addr #0

define spir_func i32 @_Z19convert_int_sat_rtzd(double %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z23_cl_convert_int_sat_rtzd(double %a)
  ret i32 %call
}


declare <2 x i32> @_Z24_cl_convert_int2_sat_rtzDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z20convert_int2_sat_rtzDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z24_cl_convert_int2_sat_rtzDv2_d(<2 x double> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z24_cl_convert_int3_sat_rtzDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z20convert_int3_sat_rtzDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z24_cl_convert_int3_sat_rtzDv3_d(<3 x double> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z24_cl_convert_int4_sat_rtzDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z20convert_int4_sat_rtzDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z24_cl_convert_int4_sat_rtzDv4_d(<4 x double> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z24_cl_convert_int8_sat_rtzDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z20convert_int8_sat_rtzDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z24_cl_convert_int8_sat_rtzDv8_d(<8 x double> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z25_cl_convert_int16_sat_rtzDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z21convert_int16_sat_rtzDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z25_cl_convert_int16_sat_rtzDv16_d(<16 x double> %a)
  ret <16 x i32> %call
}


declare i32 @_Z16_cl_convert_uintc(i8) local_unnamed_addr #0

define spir_func i32 @_Z12convert_uintc(i8 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z16_cl_convert_uintc(i8 %a)
  ret i32 %call
}


declare <2 x i32> @_Z17_cl_convert_uint2Dv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z13convert_uint2Dv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z17_cl_convert_uint2Dv2_c(<2 x i8> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z17_cl_convert_uint3Dv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z13convert_uint3Dv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z17_cl_convert_uint3Dv3_c(<3 x i8> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z17_cl_convert_uint4Dv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z13convert_uint4Dv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z17_cl_convert_uint4Dv4_c(<4 x i8> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z17_cl_convert_uint8Dv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z13convert_uint8Dv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z17_cl_convert_uint8Dv8_c(<8 x i8> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z18_cl_convert_uint16Dv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z14convert_uint16Dv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z18_cl_convert_uint16Dv16_c(<16 x i8> %a)
  ret <16 x i32> %call
}


declare i32 @_Z20_cl_convert_uint_rtpc(i8) local_unnamed_addr #0

define spir_func i32 @_Z16convert_uint_rtpc(i8 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z20_cl_convert_uint_rtpc(i8 %a)
  ret i32 %call
}


declare <2 x i32> @_Z21_cl_convert_uint2_rtpDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z17convert_uint2_rtpDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z21_cl_convert_uint2_rtpDv2_c(<2 x i8> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z21_cl_convert_uint3_rtpDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z17convert_uint3_rtpDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z21_cl_convert_uint3_rtpDv3_c(<3 x i8> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z21_cl_convert_uint4_rtpDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z17convert_uint4_rtpDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z21_cl_convert_uint4_rtpDv4_c(<4 x i8> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z21_cl_convert_uint8_rtpDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z17convert_uint8_rtpDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z21_cl_convert_uint8_rtpDv8_c(<8 x i8> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z22_cl_convert_uint16_rtpDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z18convert_uint16_rtpDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z22_cl_convert_uint16_rtpDv16_c(<16 x i8> %a)
  ret <16 x i32> %call
}


declare i32 @_Z20_cl_convert_uint_rtnc(i8) local_unnamed_addr #0

define spir_func i32 @_Z16convert_uint_rtnc(i8 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z20_cl_convert_uint_rtnc(i8 %a)
  ret i32 %call
}


declare <2 x i32> @_Z21_cl_convert_uint2_rtnDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z17convert_uint2_rtnDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z21_cl_convert_uint2_rtnDv2_c(<2 x i8> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z21_cl_convert_uint3_rtnDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z17convert_uint3_rtnDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z21_cl_convert_uint3_rtnDv3_c(<3 x i8> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z21_cl_convert_uint4_rtnDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z17convert_uint4_rtnDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z21_cl_convert_uint4_rtnDv4_c(<4 x i8> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z21_cl_convert_uint8_rtnDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z17convert_uint8_rtnDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z21_cl_convert_uint8_rtnDv8_c(<8 x i8> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z22_cl_convert_uint16_rtnDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z18convert_uint16_rtnDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z22_cl_convert_uint16_rtnDv16_c(<16 x i8> %a)
  ret <16 x i32> %call
}


declare i32 @_Z20_cl_convert_uint_rtec(i8) local_unnamed_addr #0

define spir_func i32 @_Z16convert_uint_rtec(i8 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z20_cl_convert_uint_rtec(i8 %a)
  ret i32 %call
}


declare <2 x i32> @_Z21_cl_convert_uint2_rteDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z17convert_uint2_rteDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z21_cl_convert_uint2_rteDv2_c(<2 x i8> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z21_cl_convert_uint3_rteDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z17convert_uint3_rteDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z21_cl_convert_uint3_rteDv3_c(<3 x i8> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z21_cl_convert_uint4_rteDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z17convert_uint4_rteDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z21_cl_convert_uint4_rteDv4_c(<4 x i8> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z21_cl_convert_uint8_rteDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z17convert_uint8_rteDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z21_cl_convert_uint8_rteDv8_c(<8 x i8> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z22_cl_convert_uint16_rteDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z18convert_uint16_rteDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z22_cl_convert_uint16_rteDv16_c(<16 x i8> %a)
  ret <16 x i32> %call
}


declare i32 @_Z20_cl_convert_uint_rtzc(i8) local_unnamed_addr #0

define spir_func i32 @_Z16convert_uint_rtzc(i8 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z20_cl_convert_uint_rtzc(i8 %a)
  ret i32 %call
}


declare <2 x i32> @_Z21_cl_convert_uint2_rtzDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z17convert_uint2_rtzDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z21_cl_convert_uint2_rtzDv2_c(<2 x i8> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z21_cl_convert_uint3_rtzDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z17convert_uint3_rtzDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z21_cl_convert_uint3_rtzDv3_c(<3 x i8> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z21_cl_convert_uint4_rtzDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z17convert_uint4_rtzDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z21_cl_convert_uint4_rtzDv4_c(<4 x i8> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z21_cl_convert_uint8_rtzDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z17convert_uint8_rtzDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z21_cl_convert_uint8_rtzDv8_c(<8 x i8> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z22_cl_convert_uint16_rtzDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z18convert_uint16_rtzDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z22_cl_convert_uint16_rtzDv16_c(<16 x i8> %a)
  ret <16 x i32> %call
}


declare i32 @_Z20_cl_convert_uint_satc(i8) local_unnamed_addr #0

define spir_func i32 @_Z16convert_uint_satc(i8 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z20_cl_convert_uint_satc(i8 %a)
  ret i32 %call
}


declare <2 x i32> @_Z21_cl_convert_uint2_satDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z17convert_uint2_satDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z21_cl_convert_uint2_satDv2_c(<2 x i8> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z21_cl_convert_uint3_satDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z17convert_uint3_satDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z21_cl_convert_uint3_satDv3_c(<3 x i8> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z21_cl_convert_uint4_satDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z17convert_uint4_satDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z21_cl_convert_uint4_satDv4_c(<4 x i8> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z21_cl_convert_uint8_satDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z17convert_uint8_satDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z21_cl_convert_uint8_satDv8_c(<8 x i8> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z22_cl_convert_uint16_satDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z18convert_uint16_satDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z22_cl_convert_uint16_satDv16_c(<16 x i8> %a)
  ret <16 x i32> %call
}


declare i32 @_Z24_cl_convert_uint_sat_rtpc(i8) local_unnamed_addr #0

define spir_func i32 @_Z20convert_uint_sat_rtpc(i8 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z24_cl_convert_uint_sat_rtpc(i8 %a)
  ret i32 %call
}


declare <2 x i32> @_Z25_cl_convert_uint2_sat_rtpDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z21convert_uint2_sat_rtpDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z25_cl_convert_uint2_sat_rtpDv2_c(<2 x i8> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z25_cl_convert_uint3_sat_rtpDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z21convert_uint3_sat_rtpDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z25_cl_convert_uint3_sat_rtpDv3_c(<3 x i8> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z25_cl_convert_uint4_sat_rtpDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z21convert_uint4_sat_rtpDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z25_cl_convert_uint4_sat_rtpDv4_c(<4 x i8> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z25_cl_convert_uint8_sat_rtpDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z21convert_uint8_sat_rtpDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z25_cl_convert_uint8_sat_rtpDv8_c(<8 x i8> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z26_cl_convert_uint16_sat_rtpDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z22convert_uint16_sat_rtpDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z26_cl_convert_uint16_sat_rtpDv16_c(<16 x i8> %a)
  ret <16 x i32> %call
}


declare i32 @_Z24_cl_convert_uint_sat_rtnc(i8) local_unnamed_addr #0

define spir_func i32 @_Z20convert_uint_sat_rtnc(i8 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z24_cl_convert_uint_sat_rtnc(i8 %a)
  ret i32 %call
}


declare <2 x i32> @_Z25_cl_convert_uint2_sat_rtnDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z21convert_uint2_sat_rtnDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z25_cl_convert_uint2_sat_rtnDv2_c(<2 x i8> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z25_cl_convert_uint3_sat_rtnDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z21convert_uint3_sat_rtnDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z25_cl_convert_uint3_sat_rtnDv3_c(<3 x i8> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z25_cl_convert_uint4_sat_rtnDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z21convert_uint4_sat_rtnDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z25_cl_convert_uint4_sat_rtnDv4_c(<4 x i8> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z25_cl_convert_uint8_sat_rtnDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z21convert_uint8_sat_rtnDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z25_cl_convert_uint8_sat_rtnDv8_c(<8 x i8> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z26_cl_convert_uint16_sat_rtnDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z22convert_uint16_sat_rtnDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z26_cl_convert_uint16_sat_rtnDv16_c(<16 x i8> %a)
  ret <16 x i32> %call
}


declare i32 @_Z24_cl_convert_uint_sat_rtec(i8) local_unnamed_addr #0

define spir_func i32 @_Z20convert_uint_sat_rtec(i8 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z24_cl_convert_uint_sat_rtec(i8 %a)
  ret i32 %call
}


declare <2 x i32> @_Z25_cl_convert_uint2_sat_rteDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z21convert_uint2_sat_rteDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z25_cl_convert_uint2_sat_rteDv2_c(<2 x i8> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z25_cl_convert_uint3_sat_rteDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z21convert_uint3_sat_rteDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z25_cl_convert_uint3_sat_rteDv3_c(<3 x i8> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z25_cl_convert_uint4_sat_rteDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z21convert_uint4_sat_rteDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z25_cl_convert_uint4_sat_rteDv4_c(<4 x i8> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z25_cl_convert_uint8_sat_rteDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z21convert_uint8_sat_rteDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z25_cl_convert_uint8_sat_rteDv8_c(<8 x i8> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z26_cl_convert_uint16_sat_rteDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z22convert_uint16_sat_rteDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z26_cl_convert_uint16_sat_rteDv16_c(<16 x i8> %a)
  ret <16 x i32> %call
}


declare i32 @_Z24_cl_convert_uint_sat_rtzc(i8) local_unnamed_addr #0

define spir_func i32 @_Z20convert_uint_sat_rtzc(i8 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z24_cl_convert_uint_sat_rtzc(i8 %a)
  ret i32 %call
}


declare <2 x i32> @_Z25_cl_convert_uint2_sat_rtzDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z21convert_uint2_sat_rtzDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z25_cl_convert_uint2_sat_rtzDv2_c(<2 x i8> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z25_cl_convert_uint3_sat_rtzDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z21convert_uint3_sat_rtzDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z25_cl_convert_uint3_sat_rtzDv3_c(<3 x i8> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z25_cl_convert_uint4_sat_rtzDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z21convert_uint4_sat_rtzDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z25_cl_convert_uint4_sat_rtzDv4_c(<4 x i8> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z25_cl_convert_uint8_sat_rtzDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z21convert_uint8_sat_rtzDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z25_cl_convert_uint8_sat_rtzDv8_c(<8 x i8> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z26_cl_convert_uint16_sat_rtzDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z22convert_uint16_sat_rtzDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z26_cl_convert_uint16_sat_rtzDv16_c(<16 x i8> %a)
  ret <16 x i32> %call
}


declare i32 @_Z16_cl_convert_uinth(i8) local_unnamed_addr #0

define spir_func i32 @_Z12convert_uinth(i8 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z16_cl_convert_uinth(i8 %a)
  ret i32 %call
}


declare <2 x i32> @_Z17_cl_convert_uint2Dv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z13convert_uint2Dv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z17_cl_convert_uint2Dv2_h(<2 x i8> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z17_cl_convert_uint3Dv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z13convert_uint3Dv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z17_cl_convert_uint3Dv3_h(<3 x i8> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z17_cl_convert_uint4Dv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z13convert_uint4Dv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z17_cl_convert_uint4Dv4_h(<4 x i8> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z17_cl_convert_uint8Dv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z13convert_uint8Dv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z17_cl_convert_uint8Dv8_h(<8 x i8> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z18_cl_convert_uint16Dv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z14convert_uint16Dv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z18_cl_convert_uint16Dv16_h(<16 x i8> %a)
  ret <16 x i32> %call
}


declare i32 @_Z20_cl_convert_uint_rtph(i8) local_unnamed_addr #0

define spir_func i32 @_Z16convert_uint_rtph(i8 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z20_cl_convert_uint_rtph(i8 %a)
  ret i32 %call
}


declare <2 x i32> @_Z21_cl_convert_uint2_rtpDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z17convert_uint2_rtpDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z21_cl_convert_uint2_rtpDv2_h(<2 x i8> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z21_cl_convert_uint3_rtpDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z17convert_uint3_rtpDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z21_cl_convert_uint3_rtpDv3_h(<3 x i8> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z21_cl_convert_uint4_rtpDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z17convert_uint4_rtpDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z21_cl_convert_uint4_rtpDv4_h(<4 x i8> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z21_cl_convert_uint8_rtpDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z17convert_uint8_rtpDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z21_cl_convert_uint8_rtpDv8_h(<8 x i8> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z22_cl_convert_uint16_rtpDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z18convert_uint16_rtpDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z22_cl_convert_uint16_rtpDv16_h(<16 x i8> %a)
  ret <16 x i32> %call
}


declare i32 @_Z20_cl_convert_uint_rtnh(i8) local_unnamed_addr #0

define spir_func i32 @_Z16convert_uint_rtnh(i8 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z20_cl_convert_uint_rtnh(i8 %a)
  ret i32 %call
}


declare <2 x i32> @_Z21_cl_convert_uint2_rtnDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z17convert_uint2_rtnDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z21_cl_convert_uint2_rtnDv2_h(<2 x i8> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z21_cl_convert_uint3_rtnDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z17convert_uint3_rtnDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z21_cl_convert_uint3_rtnDv3_h(<3 x i8> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z21_cl_convert_uint4_rtnDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z17convert_uint4_rtnDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z21_cl_convert_uint4_rtnDv4_h(<4 x i8> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z21_cl_convert_uint8_rtnDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z17convert_uint8_rtnDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z21_cl_convert_uint8_rtnDv8_h(<8 x i8> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z22_cl_convert_uint16_rtnDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z18convert_uint16_rtnDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z22_cl_convert_uint16_rtnDv16_h(<16 x i8> %a)
  ret <16 x i32> %call
}


declare i32 @_Z20_cl_convert_uint_rteh(i8) local_unnamed_addr #0

define spir_func i32 @_Z16convert_uint_rteh(i8 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z20_cl_convert_uint_rteh(i8 %a)
  ret i32 %call
}


declare <2 x i32> @_Z21_cl_convert_uint2_rteDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z17convert_uint2_rteDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z21_cl_convert_uint2_rteDv2_h(<2 x i8> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z21_cl_convert_uint3_rteDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z17convert_uint3_rteDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z21_cl_convert_uint3_rteDv3_h(<3 x i8> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z21_cl_convert_uint4_rteDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z17convert_uint4_rteDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z21_cl_convert_uint4_rteDv4_h(<4 x i8> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z21_cl_convert_uint8_rteDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z17convert_uint8_rteDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z21_cl_convert_uint8_rteDv8_h(<8 x i8> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z22_cl_convert_uint16_rteDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z18convert_uint16_rteDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z22_cl_convert_uint16_rteDv16_h(<16 x i8> %a)
  ret <16 x i32> %call
}


declare i32 @_Z20_cl_convert_uint_rtzh(i8) local_unnamed_addr #0

define spir_func i32 @_Z16convert_uint_rtzh(i8 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z20_cl_convert_uint_rtzh(i8 %a)
  ret i32 %call
}


declare <2 x i32> @_Z21_cl_convert_uint2_rtzDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z17convert_uint2_rtzDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z21_cl_convert_uint2_rtzDv2_h(<2 x i8> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z21_cl_convert_uint3_rtzDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z17convert_uint3_rtzDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z21_cl_convert_uint3_rtzDv3_h(<3 x i8> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z21_cl_convert_uint4_rtzDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z17convert_uint4_rtzDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z21_cl_convert_uint4_rtzDv4_h(<4 x i8> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z21_cl_convert_uint8_rtzDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z17convert_uint8_rtzDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z21_cl_convert_uint8_rtzDv8_h(<8 x i8> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z22_cl_convert_uint16_rtzDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z18convert_uint16_rtzDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z22_cl_convert_uint16_rtzDv16_h(<16 x i8> %a)
  ret <16 x i32> %call
}


declare i32 @_Z20_cl_convert_uint_sath(i8) local_unnamed_addr #0

define spir_func i32 @_Z16convert_uint_sath(i8 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z20_cl_convert_uint_sath(i8 %a)
  ret i32 %call
}


declare <2 x i32> @_Z21_cl_convert_uint2_satDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z17convert_uint2_satDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z21_cl_convert_uint2_satDv2_h(<2 x i8> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z21_cl_convert_uint3_satDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z17convert_uint3_satDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z21_cl_convert_uint3_satDv3_h(<3 x i8> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z21_cl_convert_uint4_satDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z17convert_uint4_satDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z21_cl_convert_uint4_satDv4_h(<4 x i8> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z21_cl_convert_uint8_satDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z17convert_uint8_satDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z21_cl_convert_uint8_satDv8_h(<8 x i8> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z22_cl_convert_uint16_satDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z18convert_uint16_satDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z22_cl_convert_uint16_satDv16_h(<16 x i8> %a)
  ret <16 x i32> %call
}


declare i32 @_Z24_cl_convert_uint_sat_rtph(i8) local_unnamed_addr #0

define spir_func i32 @_Z20convert_uint_sat_rtph(i8 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z24_cl_convert_uint_sat_rtph(i8 %a)
  ret i32 %call
}


declare <2 x i32> @_Z25_cl_convert_uint2_sat_rtpDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z21convert_uint2_sat_rtpDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z25_cl_convert_uint2_sat_rtpDv2_h(<2 x i8> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z25_cl_convert_uint3_sat_rtpDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z21convert_uint3_sat_rtpDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z25_cl_convert_uint3_sat_rtpDv3_h(<3 x i8> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z25_cl_convert_uint4_sat_rtpDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z21convert_uint4_sat_rtpDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z25_cl_convert_uint4_sat_rtpDv4_h(<4 x i8> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z25_cl_convert_uint8_sat_rtpDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z21convert_uint8_sat_rtpDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z25_cl_convert_uint8_sat_rtpDv8_h(<8 x i8> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z26_cl_convert_uint16_sat_rtpDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z22convert_uint16_sat_rtpDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z26_cl_convert_uint16_sat_rtpDv16_h(<16 x i8> %a)
  ret <16 x i32> %call
}


declare i32 @_Z24_cl_convert_uint_sat_rtnh(i8) local_unnamed_addr #0

define spir_func i32 @_Z20convert_uint_sat_rtnh(i8 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z24_cl_convert_uint_sat_rtnh(i8 %a)
  ret i32 %call
}


declare <2 x i32> @_Z25_cl_convert_uint2_sat_rtnDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z21convert_uint2_sat_rtnDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z25_cl_convert_uint2_sat_rtnDv2_h(<2 x i8> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z25_cl_convert_uint3_sat_rtnDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z21convert_uint3_sat_rtnDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z25_cl_convert_uint3_sat_rtnDv3_h(<3 x i8> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z25_cl_convert_uint4_sat_rtnDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z21convert_uint4_sat_rtnDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z25_cl_convert_uint4_sat_rtnDv4_h(<4 x i8> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z25_cl_convert_uint8_sat_rtnDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z21convert_uint8_sat_rtnDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z25_cl_convert_uint8_sat_rtnDv8_h(<8 x i8> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z26_cl_convert_uint16_sat_rtnDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z22convert_uint16_sat_rtnDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z26_cl_convert_uint16_sat_rtnDv16_h(<16 x i8> %a)
  ret <16 x i32> %call
}


declare i32 @_Z24_cl_convert_uint_sat_rteh(i8) local_unnamed_addr #0

define spir_func i32 @_Z20convert_uint_sat_rteh(i8 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z24_cl_convert_uint_sat_rteh(i8 %a)
  ret i32 %call
}


declare <2 x i32> @_Z25_cl_convert_uint2_sat_rteDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z21convert_uint2_sat_rteDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z25_cl_convert_uint2_sat_rteDv2_h(<2 x i8> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z25_cl_convert_uint3_sat_rteDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z21convert_uint3_sat_rteDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z25_cl_convert_uint3_sat_rteDv3_h(<3 x i8> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z25_cl_convert_uint4_sat_rteDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z21convert_uint4_sat_rteDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z25_cl_convert_uint4_sat_rteDv4_h(<4 x i8> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z25_cl_convert_uint8_sat_rteDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z21convert_uint8_sat_rteDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z25_cl_convert_uint8_sat_rteDv8_h(<8 x i8> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z26_cl_convert_uint16_sat_rteDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z22convert_uint16_sat_rteDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z26_cl_convert_uint16_sat_rteDv16_h(<16 x i8> %a)
  ret <16 x i32> %call
}


declare i32 @_Z24_cl_convert_uint_sat_rtzh(i8) local_unnamed_addr #0

define spir_func i32 @_Z20convert_uint_sat_rtzh(i8 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z24_cl_convert_uint_sat_rtzh(i8 %a)
  ret i32 %call
}


declare <2 x i32> @_Z25_cl_convert_uint2_sat_rtzDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z21convert_uint2_sat_rtzDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z25_cl_convert_uint2_sat_rtzDv2_h(<2 x i8> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z25_cl_convert_uint3_sat_rtzDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z21convert_uint3_sat_rtzDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z25_cl_convert_uint3_sat_rtzDv3_h(<3 x i8> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z25_cl_convert_uint4_sat_rtzDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z21convert_uint4_sat_rtzDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z25_cl_convert_uint4_sat_rtzDv4_h(<4 x i8> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z25_cl_convert_uint8_sat_rtzDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z21convert_uint8_sat_rtzDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z25_cl_convert_uint8_sat_rtzDv8_h(<8 x i8> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z26_cl_convert_uint16_sat_rtzDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z22convert_uint16_sat_rtzDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z26_cl_convert_uint16_sat_rtzDv16_h(<16 x i8> %a)
  ret <16 x i32> %call
}


declare i32 @_Z16_cl_convert_uints(i16) local_unnamed_addr #0

define spir_func i32 @_Z12convert_uints(i16 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z16_cl_convert_uints(i16 %a)
  ret i32 %call
}


declare <2 x i32> @_Z17_cl_convert_uint2Dv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z13convert_uint2Dv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z17_cl_convert_uint2Dv2_s(<2 x i16> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z17_cl_convert_uint3Dv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z13convert_uint3Dv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z17_cl_convert_uint3Dv3_s(<3 x i16> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z17_cl_convert_uint4Dv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z13convert_uint4Dv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z17_cl_convert_uint4Dv4_s(<4 x i16> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z17_cl_convert_uint8Dv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z13convert_uint8Dv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z17_cl_convert_uint8Dv8_s(<8 x i16> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z18_cl_convert_uint16Dv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z14convert_uint16Dv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z18_cl_convert_uint16Dv16_s(<16 x i16> %a)
  ret <16 x i32> %call
}


declare i32 @_Z20_cl_convert_uint_rtps(i16) local_unnamed_addr #0

define spir_func i32 @_Z16convert_uint_rtps(i16 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z20_cl_convert_uint_rtps(i16 %a)
  ret i32 %call
}


declare <2 x i32> @_Z21_cl_convert_uint2_rtpDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z17convert_uint2_rtpDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z21_cl_convert_uint2_rtpDv2_s(<2 x i16> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z21_cl_convert_uint3_rtpDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z17convert_uint3_rtpDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z21_cl_convert_uint3_rtpDv3_s(<3 x i16> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z21_cl_convert_uint4_rtpDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z17convert_uint4_rtpDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z21_cl_convert_uint4_rtpDv4_s(<4 x i16> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z21_cl_convert_uint8_rtpDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z17convert_uint8_rtpDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z21_cl_convert_uint8_rtpDv8_s(<8 x i16> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z22_cl_convert_uint16_rtpDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z18convert_uint16_rtpDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z22_cl_convert_uint16_rtpDv16_s(<16 x i16> %a)
  ret <16 x i32> %call
}


declare i32 @_Z20_cl_convert_uint_rtns(i16) local_unnamed_addr #0

define spir_func i32 @_Z16convert_uint_rtns(i16 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z20_cl_convert_uint_rtns(i16 %a)
  ret i32 %call
}


declare <2 x i32> @_Z21_cl_convert_uint2_rtnDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z17convert_uint2_rtnDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z21_cl_convert_uint2_rtnDv2_s(<2 x i16> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z21_cl_convert_uint3_rtnDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z17convert_uint3_rtnDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z21_cl_convert_uint3_rtnDv3_s(<3 x i16> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z21_cl_convert_uint4_rtnDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z17convert_uint4_rtnDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z21_cl_convert_uint4_rtnDv4_s(<4 x i16> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z21_cl_convert_uint8_rtnDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z17convert_uint8_rtnDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z21_cl_convert_uint8_rtnDv8_s(<8 x i16> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z22_cl_convert_uint16_rtnDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z18convert_uint16_rtnDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z22_cl_convert_uint16_rtnDv16_s(<16 x i16> %a)
  ret <16 x i32> %call
}


declare i32 @_Z20_cl_convert_uint_rtes(i16) local_unnamed_addr #0

define spir_func i32 @_Z16convert_uint_rtes(i16 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z20_cl_convert_uint_rtes(i16 %a)
  ret i32 %call
}


declare <2 x i32> @_Z21_cl_convert_uint2_rteDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z17convert_uint2_rteDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z21_cl_convert_uint2_rteDv2_s(<2 x i16> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z21_cl_convert_uint3_rteDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z17convert_uint3_rteDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z21_cl_convert_uint3_rteDv3_s(<3 x i16> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z21_cl_convert_uint4_rteDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z17convert_uint4_rteDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z21_cl_convert_uint4_rteDv4_s(<4 x i16> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z21_cl_convert_uint8_rteDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z17convert_uint8_rteDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z21_cl_convert_uint8_rteDv8_s(<8 x i16> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z22_cl_convert_uint16_rteDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z18convert_uint16_rteDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z22_cl_convert_uint16_rteDv16_s(<16 x i16> %a)
  ret <16 x i32> %call
}


declare i32 @_Z20_cl_convert_uint_rtzs(i16) local_unnamed_addr #0

define spir_func i32 @_Z16convert_uint_rtzs(i16 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z20_cl_convert_uint_rtzs(i16 %a)
  ret i32 %call
}


declare <2 x i32> @_Z21_cl_convert_uint2_rtzDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z17convert_uint2_rtzDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z21_cl_convert_uint2_rtzDv2_s(<2 x i16> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z21_cl_convert_uint3_rtzDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z17convert_uint3_rtzDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z21_cl_convert_uint3_rtzDv3_s(<3 x i16> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z21_cl_convert_uint4_rtzDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z17convert_uint4_rtzDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z21_cl_convert_uint4_rtzDv4_s(<4 x i16> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z21_cl_convert_uint8_rtzDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z17convert_uint8_rtzDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z21_cl_convert_uint8_rtzDv8_s(<8 x i16> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z22_cl_convert_uint16_rtzDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z18convert_uint16_rtzDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z22_cl_convert_uint16_rtzDv16_s(<16 x i16> %a)
  ret <16 x i32> %call
}


declare i32 @_Z20_cl_convert_uint_sats(i16) local_unnamed_addr #0

define spir_func i32 @_Z16convert_uint_sats(i16 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z20_cl_convert_uint_sats(i16 %a)
  ret i32 %call
}


declare <2 x i32> @_Z21_cl_convert_uint2_satDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z17convert_uint2_satDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z21_cl_convert_uint2_satDv2_s(<2 x i16> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z21_cl_convert_uint3_satDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z17convert_uint3_satDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z21_cl_convert_uint3_satDv3_s(<3 x i16> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z21_cl_convert_uint4_satDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z17convert_uint4_satDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z21_cl_convert_uint4_satDv4_s(<4 x i16> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z21_cl_convert_uint8_satDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z17convert_uint8_satDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z21_cl_convert_uint8_satDv8_s(<8 x i16> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z22_cl_convert_uint16_satDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z18convert_uint16_satDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z22_cl_convert_uint16_satDv16_s(<16 x i16> %a)
  ret <16 x i32> %call
}


declare i32 @_Z24_cl_convert_uint_sat_rtps(i16) local_unnamed_addr #0

define spir_func i32 @_Z20convert_uint_sat_rtps(i16 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z24_cl_convert_uint_sat_rtps(i16 %a)
  ret i32 %call
}


declare <2 x i32> @_Z25_cl_convert_uint2_sat_rtpDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z21convert_uint2_sat_rtpDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z25_cl_convert_uint2_sat_rtpDv2_s(<2 x i16> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z25_cl_convert_uint3_sat_rtpDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z21convert_uint3_sat_rtpDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z25_cl_convert_uint3_sat_rtpDv3_s(<3 x i16> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z25_cl_convert_uint4_sat_rtpDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z21convert_uint4_sat_rtpDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z25_cl_convert_uint4_sat_rtpDv4_s(<4 x i16> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z25_cl_convert_uint8_sat_rtpDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z21convert_uint8_sat_rtpDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z25_cl_convert_uint8_sat_rtpDv8_s(<8 x i16> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z26_cl_convert_uint16_sat_rtpDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z22convert_uint16_sat_rtpDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z26_cl_convert_uint16_sat_rtpDv16_s(<16 x i16> %a)
  ret <16 x i32> %call
}


declare i32 @_Z24_cl_convert_uint_sat_rtns(i16) local_unnamed_addr #0

define spir_func i32 @_Z20convert_uint_sat_rtns(i16 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z24_cl_convert_uint_sat_rtns(i16 %a)
  ret i32 %call
}


declare <2 x i32> @_Z25_cl_convert_uint2_sat_rtnDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z21convert_uint2_sat_rtnDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z25_cl_convert_uint2_sat_rtnDv2_s(<2 x i16> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z25_cl_convert_uint3_sat_rtnDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z21convert_uint3_sat_rtnDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z25_cl_convert_uint3_sat_rtnDv3_s(<3 x i16> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z25_cl_convert_uint4_sat_rtnDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z21convert_uint4_sat_rtnDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z25_cl_convert_uint4_sat_rtnDv4_s(<4 x i16> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z25_cl_convert_uint8_sat_rtnDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z21convert_uint8_sat_rtnDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z25_cl_convert_uint8_sat_rtnDv8_s(<8 x i16> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z26_cl_convert_uint16_sat_rtnDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z22convert_uint16_sat_rtnDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z26_cl_convert_uint16_sat_rtnDv16_s(<16 x i16> %a)
  ret <16 x i32> %call
}


declare i32 @_Z24_cl_convert_uint_sat_rtes(i16) local_unnamed_addr #0

define spir_func i32 @_Z20convert_uint_sat_rtes(i16 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z24_cl_convert_uint_sat_rtes(i16 %a)
  ret i32 %call
}


declare <2 x i32> @_Z25_cl_convert_uint2_sat_rteDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z21convert_uint2_sat_rteDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z25_cl_convert_uint2_sat_rteDv2_s(<2 x i16> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z25_cl_convert_uint3_sat_rteDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z21convert_uint3_sat_rteDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z25_cl_convert_uint3_sat_rteDv3_s(<3 x i16> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z25_cl_convert_uint4_sat_rteDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z21convert_uint4_sat_rteDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z25_cl_convert_uint4_sat_rteDv4_s(<4 x i16> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z25_cl_convert_uint8_sat_rteDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z21convert_uint8_sat_rteDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z25_cl_convert_uint8_sat_rteDv8_s(<8 x i16> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z26_cl_convert_uint16_sat_rteDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z22convert_uint16_sat_rteDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z26_cl_convert_uint16_sat_rteDv16_s(<16 x i16> %a)
  ret <16 x i32> %call
}


declare i32 @_Z24_cl_convert_uint_sat_rtzs(i16) local_unnamed_addr #0

define spir_func i32 @_Z20convert_uint_sat_rtzs(i16 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z24_cl_convert_uint_sat_rtzs(i16 %a)
  ret i32 %call
}


declare <2 x i32> @_Z25_cl_convert_uint2_sat_rtzDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z21convert_uint2_sat_rtzDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z25_cl_convert_uint2_sat_rtzDv2_s(<2 x i16> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z25_cl_convert_uint3_sat_rtzDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z21convert_uint3_sat_rtzDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z25_cl_convert_uint3_sat_rtzDv3_s(<3 x i16> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z25_cl_convert_uint4_sat_rtzDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z21convert_uint4_sat_rtzDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z25_cl_convert_uint4_sat_rtzDv4_s(<4 x i16> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z25_cl_convert_uint8_sat_rtzDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z21convert_uint8_sat_rtzDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z25_cl_convert_uint8_sat_rtzDv8_s(<8 x i16> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z26_cl_convert_uint16_sat_rtzDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z22convert_uint16_sat_rtzDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z26_cl_convert_uint16_sat_rtzDv16_s(<16 x i16> %a)
  ret <16 x i32> %call
}


declare i32 @_Z16_cl_convert_uintt(i16) local_unnamed_addr #0

define spir_func i32 @_Z12convert_uintt(i16 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z16_cl_convert_uintt(i16 %a)
  ret i32 %call
}


declare <2 x i32> @_Z17_cl_convert_uint2Dv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z13convert_uint2Dv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z17_cl_convert_uint2Dv2_t(<2 x i16> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z17_cl_convert_uint3Dv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z13convert_uint3Dv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z17_cl_convert_uint3Dv3_t(<3 x i16> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z17_cl_convert_uint4Dv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z13convert_uint4Dv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z17_cl_convert_uint4Dv4_t(<4 x i16> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z17_cl_convert_uint8Dv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z13convert_uint8Dv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z17_cl_convert_uint8Dv8_t(<8 x i16> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z18_cl_convert_uint16Dv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z14convert_uint16Dv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z18_cl_convert_uint16Dv16_t(<16 x i16> %a)
  ret <16 x i32> %call
}


declare i32 @_Z20_cl_convert_uint_rtpt(i16) local_unnamed_addr #0

define spir_func i32 @_Z16convert_uint_rtpt(i16 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z20_cl_convert_uint_rtpt(i16 %a)
  ret i32 %call
}


declare <2 x i32> @_Z21_cl_convert_uint2_rtpDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z17convert_uint2_rtpDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z21_cl_convert_uint2_rtpDv2_t(<2 x i16> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z21_cl_convert_uint3_rtpDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z17convert_uint3_rtpDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z21_cl_convert_uint3_rtpDv3_t(<3 x i16> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z21_cl_convert_uint4_rtpDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z17convert_uint4_rtpDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z21_cl_convert_uint4_rtpDv4_t(<4 x i16> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z21_cl_convert_uint8_rtpDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z17convert_uint8_rtpDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z21_cl_convert_uint8_rtpDv8_t(<8 x i16> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z22_cl_convert_uint16_rtpDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z18convert_uint16_rtpDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z22_cl_convert_uint16_rtpDv16_t(<16 x i16> %a)
  ret <16 x i32> %call
}


declare i32 @_Z20_cl_convert_uint_rtnt(i16) local_unnamed_addr #0

define spir_func i32 @_Z16convert_uint_rtnt(i16 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z20_cl_convert_uint_rtnt(i16 %a)
  ret i32 %call
}


declare <2 x i32> @_Z21_cl_convert_uint2_rtnDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z17convert_uint2_rtnDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z21_cl_convert_uint2_rtnDv2_t(<2 x i16> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z21_cl_convert_uint3_rtnDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z17convert_uint3_rtnDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z21_cl_convert_uint3_rtnDv3_t(<3 x i16> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z21_cl_convert_uint4_rtnDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z17convert_uint4_rtnDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z21_cl_convert_uint4_rtnDv4_t(<4 x i16> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z21_cl_convert_uint8_rtnDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z17convert_uint8_rtnDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z21_cl_convert_uint8_rtnDv8_t(<8 x i16> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z22_cl_convert_uint16_rtnDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z18convert_uint16_rtnDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z22_cl_convert_uint16_rtnDv16_t(<16 x i16> %a)
  ret <16 x i32> %call
}


declare i32 @_Z20_cl_convert_uint_rtet(i16) local_unnamed_addr #0

define spir_func i32 @_Z16convert_uint_rtet(i16 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z20_cl_convert_uint_rtet(i16 %a)
  ret i32 %call
}


declare <2 x i32> @_Z21_cl_convert_uint2_rteDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z17convert_uint2_rteDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z21_cl_convert_uint2_rteDv2_t(<2 x i16> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z21_cl_convert_uint3_rteDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z17convert_uint3_rteDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z21_cl_convert_uint3_rteDv3_t(<3 x i16> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z21_cl_convert_uint4_rteDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z17convert_uint4_rteDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z21_cl_convert_uint4_rteDv4_t(<4 x i16> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z21_cl_convert_uint8_rteDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z17convert_uint8_rteDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z21_cl_convert_uint8_rteDv8_t(<8 x i16> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z22_cl_convert_uint16_rteDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z18convert_uint16_rteDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z22_cl_convert_uint16_rteDv16_t(<16 x i16> %a)
  ret <16 x i32> %call
}


declare i32 @_Z20_cl_convert_uint_rtzt(i16) local_unnamed_addr #0

define spir_func i32 @_Z16convert_uint_rtzt(i16 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z20_cl_convert_uint_rtzt(i16 %a)
  ret i32 %call
}


declare <2 x i32> @_Z21_cl_convert_uint2_rtzDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z17convert_uint2_rtzDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z21_cl_convert_uint2_rtzDv2_t(<2 x i16> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z21_cl_convert_uint3_rtzDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z17convert_uint3_rtzDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z21_cl_convert_uint3_rtzDv3_t(<3 x i16> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z21_cl_convert_uint4_rtzDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z17convert_uint4_rtzDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z21_cl_convert_uint4_rtzDv4_t(<4 x i16> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z21_cl_convert_uint8_rtzDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z17convert_uint8_rtzDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z21_cl_convert_uint8_rtzDv8_t(<8 x i16> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z22_cl_convert_uint16_rtzDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z18convert_uint16_rtzDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z22_cl_convert_uint16_rtzDv16_t(<16 x i16> %a)
  ret <16 x i32> %call
}


declare i32 @_Z20_cl_convert_uint_satt(i16) local_unnamed_addr #0

define spir_func i32 @_Z16convert_uint_satt(i16 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z20_cl_convert_uint_satt(i16 %a)
  ret i32 %call
}


declare <2 x i32> @_Z21_cl_convert_uint2_satDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z17convert_uint2_satDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z21_cl_convert_uint2_satDv2_t(<2 x i16> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z21_cl_convert_uint3_satDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z17convert_uint3_satDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z21_cl_convert_uint3_satDv3_t(<3 x i16> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z21_cl_convert_uint4_satDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z17convert_uint4_satDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z21_cl_convert_uint4_satDv4_t(<4 x i16> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z21_cl_convert_uint8_satDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z17convert_uint8_satDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z21_cl_convert_uint8_satDv8_t(<8 x i16> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z22_cl_convert_uint16_satDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z18convert_uint16_satDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z22_cl_convert_uint16_satDv16_t(<16 x i16> %a)
  ret <16 x i32> %call
}


declare i32 @_Z24_cl_convert_uint_sat_rtpt(i16) local_unnamed_addr #0

define spir_func i32 @_Z20convert_uint_sat_rtpt(i16 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z24_cl_convert_uint_sat_rtpt(i16 %a)
  ret i32 %call
}


declare <2 x i32> @_Z25_cl_convert_uint2_sat_rtpDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z21convert_uint2_sat_rtpDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z25_cl_convert_uint2_sat_rtpDv2_t(<2 x i16> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z25_cl_convert_uint3_sat_rtpDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z21convert_uint3_sat_rtpDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z25_cl_convert_uint3_sat_rtpDv3_t(<3 x i16> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z25_cl_convert_uint4_sat_rtpDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z21convert_uint4_sat_rtpDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z25_cl_convert_uint4_sat_rtpDv4_t(<4 x i16> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z25_cl_convert_uint8_sat_rtpDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z21convert_uint8_sat_rtpDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z25_cl_convert_uint8_sat_rtpDv8_t(<8 x i16> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z26_cl_convert_uint16_sat_rtpDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z22convert_uint16_sat_rtpDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z26_cl_convert_uint16_sat_rtpDv16_t(<16 x i16> %a)
  ret <16 x i32> %call
}


declare i32 @_Z24_cl_convert_uint_sat_rtnt(i16) local_unnamed_addr #0

define spir_func i32 @_Z20convert_uint_sat_rtnt(i16 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z24_cl_convert_uint_sat_rtnt(i16 %a)
  ret i32 %call
}


declare <2 x i32> @_Z25_cl_convert_uint2_sat_rtnDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z21convert_uint2_sat_rtnDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z25_cl_convert_uint2_sat_rtnDv2_t(<2 x i16> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z25_cl_convert_uint3_sat_rtnDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z21convert_uint3_sat_rtnDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z25_cl_convert_uint3_sat_rtnDv3_t(<3 x i16> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z25_cl_convert_uint4_sat_rtnDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z21convert_uint4_sat_rtnDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z25_cl_convert_uint4_sat_rtnDv4_t(<4 x i16> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z25_cl_convert_uint8_sat_rtnDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z21convert_uint8_sat_rtnDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z25_cl_convert_uint8_sat_rtnDv8_t(<8 x i16> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z26_cl_convert_uint16_sat_rtnDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z22convert_uint16_sat_rtnDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z26_cl_convert_uint16_sat_rtnDv16_t(<16 x i16> %a)
  ret <16 x i32> %call
}


declare i32 @_Z24_cl_convert_uint_sat_rtet(i16) local_unnamed_addr #0

define spir_func i32 @_Z20convert_uint_sat_rtet(i16 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z24_cl_convert_uint_sat_rtet(i16 %a)
  ret i32 %call
}


declare <2 x i32> @_Z25_cl_convert_uint2_sat_rteDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z21convert_uint2_sat_rteDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z25_cl_convert_uint2_sat_rteDv2_t(<2 x i16> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z25_cl_convert_uint3_sat_rteDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z21convert_uint3_sat_rteDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z25_cl_convert_uint3_sat_rteDv3_t(<3 x i16> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z25_cl_convert_uint4_sat_rteDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z21convert_uint4_sat_rteDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z25_cl_convert_uint4_sat_rteDv4_t(<4 x i16> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z25_cl_convert_uint8_sat_rteDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z21convert_uint8_sat_rteDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z25_cl_convert_uint8_sat_rteDv8_t(<8 x i16> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z26_cl_convert_uint16_sat_rteDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z22convert_uint16_sat_rteDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z26_cl_convert_uint16_sat_rteDv16_t(<16 x i16> %a)
  ret <16 x i32> %call
}


declare i32 @_Z24_cl_convert_uint_sat_rtzt(i16) local_unnamed_addr #0

define spir_func i32 @_Z20convert_uint_sat_rtzt(i16 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z24_cl_convert_uint_sat_rtzt(i16 %a)
  ret i32 %call
}


declare <2 x i32> @_Z25_cl_convert_uint2_sat_rtzDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z21convert_uint2_sat_rtzDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z25_cl_convert_uint2_sat_rtzDv2_t(<2 x i16> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z25_cl_convert_uint3_sat_rtzDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z21convert_uint3_sat_rtzDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z25_cl_convert_uint3_sat_rtzDv3_t(<3 x i16> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z25_cl_convert_uint4_sat_rtzDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z21convert_uint4_sat_rtzDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z25_cl_convert_uint4_sat_rtzDv4_t(<4 x i16> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z25_cl_convert_uint8_sat_rtzDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z21convert_uint8_sat_rtzDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z25_cl_convert_uint8_sat_rtzDv8_t(<8 x i16> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z26_cl_convert_uint16_sat_rtzDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z22convert_uint16_sat_rtzDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z26_cl_convert_uint16_sat_rtzDv16_t(<16 x i16> %a)
  ret <16 x i32> %call
}


declare i32 @_Z16_cl_convert_uinti(i32) local_unnamed_addr #0

define spir_func i32 @_Z12convert_uinti(i32 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z16_cl_convert_uinti(i32 %a)
  ret i32 %call
}


declare <2 x i32> @_Z17_cl_convert_uint2Dv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z13convert_uint2Dv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z17_cl_convert_uint2Dv2_i(<2 x i32> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z17_cl_convert_uint3Dv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z13convert_uint3Dv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z17_cl_convert_uint3Dv3_i(<3 x i32> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z17_cl_convert_uint4Dv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z13convert_uint4Dv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z17_cl_convert_uint4Dv4_i(<4 x i32> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z17_cl_convert_uint8Dv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z13convert_uint8Dv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z17_cl_convert_uint8Dv8_i(<8 x i32> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z18_cl_convert_uint16Dv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z14convert_uint16Dv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z18_cl_convert_uint16Dv16_i(<16 x i32> %a)
  ret <16 x i32> %call
}


declare i32 @_Z20_cl_convert_uint_rtpi(i32) local_unnamed_addr #0

define spir_func i32 @_Z16convert_uint_rtpi(i32 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z20_cl_convert_uint_rtpi(i32 %a)
  ret i32 %call
}


declare <2 x i32> @_Z21_cl_convert_uint2_rtpDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z17convert_uint2_rtpDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z21_cl_convert_uint2_rtpDv2_i(<2 x i32> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z21_cl_convert_uint3_rtpDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z17convert_uint3_rtpDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z21_cl_convert_uint3_rtpDv3_i(<3 x i32> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z21_cl_convert_uint4_rtpDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z17convert_uint4_rtpDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z21_cl_convert_uint4_rtpDv4_i(<4 x i32> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z21_cl_convert_uint8_rtpDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z17convert_uint8_rtpDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z21_cl_convert_uint8_rtpDv8_i(<8 x i32> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z22_cl_convert_uint16_rtpDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z18convert_uint16_rtpDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z22_cl_convert_uint16_rtpDv16_i(<16 x i32> %a)
  ret <16 x i32> %call
}


declare i32 @_Z20_cl_convert_uint_rtni(i32) local_unnamed_addr #0

define spir_func i32 @_Z16convert_uint_rtni(i32 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z20_cl_convert_uint_rtni(i32 %a)
  ret i32 %call
}


declare <2 x i32> @_Z21_cl_convert_uint2_rtnDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z17convert_uint2_rtnDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z21_cl_convert_uint2_rtnDv2_i(<2 x i32> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z21_cl_convert_uint3_rtnDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z17convert_uint3_rtnDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z21_cl_convert_uint3_rtnDv3_i(<3 x i32> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z21_cl_convert_uint4_rtnDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z17convert_uint4_rtnDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z21_cl_convert_uint4_rtnDv4_i(<4 x i32> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z21_cl_convert_uint8_rtnDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z17convert_uint8_rtnDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z21_cl_convert_uint8_rtnDv8_i(<8 x i32> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z22_cl_convert_uint16_rtnDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z18convert_uint16_rtnDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z22_cl_convert_uint16_rtnDv16_i(<16 x i32> %a)
  ret <16 x i32> %call
}


declare i32 @_Z20_cl_convert_uint_rtei(i32) local_unnamed_addr #0

define spir_func i32 @_Z16convert_uint_rtei(i32 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z20_cl_convert_uint_rtei(i32 %a)
  ret i32 %call
}


declare <2 x i32> @_Z21_cl_convert_uint2_rteDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z17convert_uint2_rteDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z21_cl_convert_uint2_rteDv2_i(<2 x i32> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z21_cl_convert_uint3_rteDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z17convert_uint3_rteDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z21_cl_convert_uint3_rteDv3_i(<3 x i32> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z21_cl_convert_uint4_rteDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z17convert_uint4_rteDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z21_cl_convert_uint4_rteDv4_i(<4 x i32> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z21_cl_convert_uint8_rteDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z17convert_uint8_rteDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z21_cl_convert_uint8_rteDv8_i(<8 x i32> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z22_cl_convert_uint16_rteDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z18convert_uint16_rteDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z22_cl_convert_uint16_rteDv16_i(<16 x i32> %a)
  ret <16 x i32> %call
}


declare i32 @_Z20_cl_convert_uint_rtzi(i32) local_unnamed_addr #0

define spir_func i32 @_Z16convert_uint_rtzi(i32 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z20_cl_convert_uint_rtzi(i32 %a)
  ret i32 %call
}


declare <2 x i32> @_Z21_cl_convert_uint2_rtzDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z17convert_uint2_rtzDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z21_cl_convert_uint2_rtzDv2_i(<2 x i32> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z21_cl_convert_uint3_rtzDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z17convert_uint3_rtzDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z21_cl_convert_uint3_rtzDv3_i(<3 x i32> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z21_cl_convert_uint4_rtzDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z17convert_uint4_rtzDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z21_cl_convert_uint4_rtzDv4_i(<4 x i32> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z21_cl_convert_uint8_rtzDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z17convert_uint8_rtzDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z21_cl_convert_uint8_rtzDv8_i(<8 x i32> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z22_cl_convert_uint16_rtzDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z18convert_uint16_rtzDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z22_cl_convert_uint16_rtzDv16_i(<16 x i32> %a)
  ret <16 x i32> %call
}


declare i32 @_Z20_cl_convert_uint_sati(i32) local_unnamed_addr #0

define spir_func i32 @_Z16convert_uint_sati(i32 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z20_cl_convert_uint_sati(i32 %a)
  ret i32 %call
}


declare <2 x i32> @_Z21_cl_convert_uint2_satDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z17convert_uint2_satDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z21_cl_convert_uint2_satDv2_i(<2 x i32> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z21_cl_convert_uint3_satDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z17convert_uint3_satDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z21_cl_convert_uint3_satDv3_i(<3 x i32> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z21_cl_convert_uint4_satDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z17convert_uint4_satDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z21_cl_convert_uint4_satDv4_i(<4 x i32> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z21_cl_convert_uint8_satDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z17convert_uint8_satDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z21_cl_convert_uint8_satDv8_i(<8 x i32> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z22_cl_convert_uint16_satDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z18convert_uint16_satDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z22_cl_convert_uint16_satDv16_i(<16 x i32> %a)
  ret <16 x i32> %call
}


declare i32 @_Z24_cl_convert_uint_sat_rtpi(i32) local_unnamed_addr #0

define spir_func i32 @_Z20convert_uint_sat_rtpi(i32 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z24_cl_convert_uint_sat_rtpi(i32 %a)
  ret i32 %call
}


declare <2 x i32> @_Z25_cl_convert_uint2_sat_rtpDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z21convert_uint2_sat_rtpDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z25_cl_convert_uint2_sat_rtpDv2_i(<2 x i32> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z25_cl_convert_uint3_sat_rtpDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z21convert_uint3_sat_rtpDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z25_cl_convert_uint3_sat_rtpDv3_i(<3 x i32> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z25_cl_convert_uint4_sat_rtpDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z21convert_uint4_sat_rtpDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z25_cl_convert_uint4_sat_rtpDv4_i(<4 x i32> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z25_cl_convert_uint8_sat_rtpDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z21convert_uint8_sat_rtpDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z25_cl_convert_uint8_sat_rtpDv8_i(<8 x i32> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z26_cl_convert_uint16_sat_rtpDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z22convert_uint16_sat_rtpDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z26_cl_convert_uint16_sat_rtpDv16_i(<16 x i32> %a)
  ret <16 x i32> %call
}


declare i32 @_Z24_cl_convert_uint_sat_rtni(i32) local_unnamed_addr #0

define spir_func i32 @_Z20convert_uint_sat_rtni(i32 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z24_cl_convert_uint_sat_rtni(i32 %a)
  ret i32 %call
}


declare <2 x i32> @_Z25_cl_convert_uint2_sat_rtnDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z21convert_uint2_sat_rtnDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z25_cl_convert_uint2_sat_rtnDv2_i(<2 x i32> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z25_cl_convert_uint3_sat_rtnDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z21convert_uint3_sat_rtnDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z25_cl_convert_uint3_sat_rtnDv3_i(<3 x i32> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z25_cl_convert_uint4_sat_rtnDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z21convert_uint4_sat_rtnDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z25_cl_convert_uint4_sat_rtnDv4_i(<4 x i32> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z25_cl_convert_uint8_sat_rtnDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z21convert_uint8_sat_rtnDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z25_cl_convert_uint8_sat_rtnDv8_i(<8 x i32> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z26_cl_convert_uint16_sat_rtnDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z22convert_uint16_sat_rtnDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z26_cl_convert_uint16_sat_rtnDv16_i(<16 x i32> %a)
  ret <16 x i32> %call
}


declare i32 @_Z24_cl_convert_uint_sat_rtei(i32) local_unnamed_addr #0

define spir_func i32 @_Z20convert_uint_sat_rtei(i32 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z24_cl_convert_uint_sat_rtei(i32 %a)
  ret i32 %call
}


declare <2 x i32> @_Z25_cl_convert_uint2_sat_rteDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z21convert_uint2_sat_rteDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z25_cl_convert_uint2_sat_rteDv2_i(<2 x i32> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z25_cl_convert_uint3_sat_rteDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z21convert_uint3_sat_rteDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z25_cl_convert_uint3_sat_rteDv3_i(<3 x i32> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z25_cl_convert_uint4_sat_rteDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z21convert_uint4_sat_rteDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z25_cl_convert_uint4_sat_rteDv4_i(<4 x i32> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z25_cl_convert_uint8_sat_rteDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z21convert_uint8_sat_rteDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z25_cl_convert_uint8_sat_rteDv8_i(<8 x i32> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z26_cl_convert_uint16_sat_rteDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z22convert_uint16_sat_rteDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z26_cl_convert_uint16_sat_rteDv16_i(<16 x i32> %a)
  ret <16 x i32> %call
}


declare i32 @_Z24_cl_convert_uint_sat_rtzi(i32) local_unnamed_addr #0

define spir_func i32 @_Z20convert_uint_sat_rtzi(i32 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z24_cl_convert_uint_sat_rtzi(i32 %a)
  ret i32 %call
}


declare <2 x i32> @_Z25_cl_convert_uint2_sat_rtzDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z21convert_uint2_sat_rtzDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z25_cl_convert_uint2_sat_rtzDv2_i(<2 x i32> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z25_cl_convert_uint3_sat_rtzDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z21convert_uint3_sat_rtzDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z25_cl_convert_uint3_sat_rtzDv3_i(<3 x i32> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z25_cl_convert_uint4_sat_rtzDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z21convert_uint4_sat_rtzDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z25_cl_convert_uint4_sat_rtzDv4_i(<4 x i32> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z25_cl_convert_uint8_sat_rtzDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z21convert_uint8_sat_rtzDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z25_cl_convert_uint8_sat_rtzDv8_i(<8 x i32> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z26_cl_convert_uint16_sat_rtzDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z22convert_uint16_sat_rtzDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z26_cl_convert_uint16_sat_rtzDv16_i(<16 x i32> %a)
  ret <16 x i32> %call
}


declare i32 @_Z16_cl_convert_uintj(i32) local_unnamed_addr #0

define spir_func i32 @_Z12convert_uintj(i32 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z16_cl_convert_uintj(i32 %a)
  ret i32 %call
}


declare <2 x i32> @_Z17_cl_convert_uint2Dv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z13convert_uint2Dv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z17_cl_convert_uint2Dv2_j(<2 x i32> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z17_cl_convert_uint3Dv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z13convert_uint3Dv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z17_cl_convert_uint3Dv3_j(<3 x i32> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z17_cl_convert_uint4Dv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z13convert_uint4Dv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z17_cl_convert_uint4Dv4_j(<4 x i32> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z17_cl_convert_uint8Dv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z13convert_uint8Dv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z17_cl_convert_uint8Dv8_j(<8 x i32> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z18_cl_convert_uint16Dv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z14convert_uint16Dv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z18_cl_convert_uint16Dv16_j(<16 x i32> %a)
  ret <16 x i32> %call
}


declare i32 @_Z20_cl_convert_uint_rtpj(i32) local_unnamed_addr #0

define spir_func i32 @_Z16convert_uint_rtpj(i32 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z20_cl_convert_uint_rtpj(i32 %a)
  ret i32 %call
}


declare <2 x i32> @_Z21_cl_convert_uint2_rtpDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z17convert_uint2_rtpDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z21_cl_convert_uint2_rtpDv2_j(<2 x i32> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z21_cl_convert_uint3_rtpDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z17convert_uint3_rtpDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z21_cl_convert_uint3_rtpDv3_j(<3 x i32> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z21_cl_convert_uint4_rtpDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z17convert_uint4_rtpDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z21_cl_convert_uint4_rtpDv4_j(<4 x i32> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z21_cl_convert_uint8_rtpDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z17convert_uint8_rtpDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z21_cl_convert_uint8_rtpDv8_j(<8 x i32> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z22_cl_convert_uint16_rtpDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z18convert_uint16_rtpDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z22_cl_convert_uint16_rtpDv16_j(<16 x i32> %a)
  ret <16 x i32> %call
}


declare i32 @_Z20_cl_convert_uint_rtnj(i32) local_unnamed_addr #0

define spir_func i32 @_Z16convert_uint_rtnj(i32 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z20_cl_convert_uint_rtnj(i32 %a)
  ret i32 %call
}


declare <2 x i32> @_Z21_cl_convert_uint2_rtnDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z17convert_uint2_rtnDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z21_cl_convert_uint2_rtnDv2_j(<2 x i32> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z21_cl_convert_uint3_rtnDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z17convert_uint3_rtnDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z21_cl_convert_uint3_rtnDv3_j(<3 x i32> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z21_cl_convert_uint4_rtnDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z17convert_uint4_rtnDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z21_cl_convert_uint4_rtnDv4_j(<4 x i32> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z21_cl_convert_uint8_rtnDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z17convert_uint8_rtnDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z21_cl_convert_uint8_rtnDv8_j(<8 x i32> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z22_cl_convert_uint16_rtnDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z18convert_uint16_rtnDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z22_cl_convert_uint16_rtnDv16_j(<16 x i32> %a)
  ret <16 x i32> %call
}


declare i32 @_Z20_cl_convert_uint_rtej(i32) local_unnamed_addr #0

define spir_func i32 @_Z16convert_uint_rtej(i32 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z20_cl_convert_uint_rtej(i32 %a)
  ret i32 %call
}


declare <2 x i32> @_Z21_cl_convert_uint2_rteDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z17convert_uint2_rteDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z21_cl_convert_uint2_rteDv2_j(<2 x i32> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z21_cl_convert_uint3_rteDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z17convert_uint3_rteDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z21_cl_convert_uint3_rteDv3_j(<3 x i32> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z21_cl_convert_uint4_rteDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z17convert_uint4_rteDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z21_cl_convert_uint4_rteDv4_j(<4 x i32> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z21_cl_convert_uint8_rteDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z17convert_uint8_rteDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z21_cl_convert_uint8_rteDv8_j(<8 x i32> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z22_cl_convert_uint16_rteDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z18convert_uint16_rteDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z22_cl_convert_uint16_rteDv16_j(<16 x i32> %a)
  ret <16 x i32> %call
}


declare i32 @_Z20_cl_convert_uint_rtzj(i32) local_unnamed_addr #0

define spir_func i32 @_Z16convert_uint_rtzj(i32 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z20_cl_convert_uint_rtzj(i32 %a)
  ret i32 %call
}


declare <2 x i32> @_Z21_cl_convert_uint2_rtzDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z17convert_uint2_rtzDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z21_cl_convert_uint2_rtzDv2_j(<2 x i32> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z21_cl_convert_uint3_rtzDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z17convert_uint3_rtzDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z21_cl_convert_uint3_rtzDv3_j(<3 x i32> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z21_cl_convert_uint4_rtzDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z17convert_uint4_rtzDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z21_cl_convert_uint4_rtzDv4_j(<4 x i32> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z21_cl_convert_uint8_rtzDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z17convert_uint8_rtzDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z21_cl_convert_uint8_rtzDv8_j(<8 x i32> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z22_cl_convert_uint16_rtzDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z18convert_uint16_rtzDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z22_cl_convert_uint16_rtzDv16_j(<16 x i32> %a)
  ret <16 x i32> %call
}


declare i32 @_Z20_cl_convert_uint_satj(i32) local_unnamed_addr #0

define spir_func i32 @_Z16convert_uint_satj(i32 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z20_cl_convert_uint_satj(i32 %a)
  ret i32 %call
}


declare <2 x i32> @_Z21_cl_convert_uint2_satDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z17convert_uint2_satDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z21_cl_convert_uint2_satDv2_j(<2 x i32> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z21_cl_convert_uint3_satDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z17convert_uint3_satDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z21_cl_convert_uint3_satDv3_j(<3 x i32> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z21_cl_convert_uint4_satDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z17convert_uint4_satDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z21_cl_convert_uint4_satDv4_j(<4 x i32> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z21_cl_convert_uint8_satDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z17convert_uint8_satDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z21_cl_convert_uint8_satDv8_j(<8 x i32> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z22_cl_convert_uint16_satDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z18convert_uint16_satDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z22_cl_convert_uint16_satDv16_j(<16 x i32> %a)
  ret <16 x i32> %call
}


declare i32 @_Z24_cl_convert_uint_sat_rtpj(i32) local_unnamed_addr #0

define spir_func i32 @_Z20convert_uint_sat_rtpj(i32 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z24_cl_convert_uint_sat_rtpj(i32 %a)
  ret i32 %call
}


declare <2 x i32> @_Z25_cl_convert_uint2_sat_rtpDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z21convert_uint2_sat_rtpDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z25_cl_convert_uint2_sat_rtpDv2_j(<2 x i32> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z25_cl_convert_uint3_sat_rtpDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z21convert_uint3_sat_rtpDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z25_cl_convert_uint3_sat_rtpDv3_j(<3 x i32> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z25_cl_convert_uint4_sat_rtpDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z21convert_uint4_sat_rtpDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z25_cl_convert_uint4_sat_rtpDv4_j(<4 x i32> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z25_cl_convert_uint8_sat_rtpDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z21convert_uint8_sat_rtpDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z25_cl_convert_uint8_sat_rtpDv8_j(<8 x i32> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z26_cl_convert_uint16_sat_rtpDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z22convert_uint16_sat_rtpDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z26_cl_convert_uint16_sat_rtpDv16_j(<16 x i32> %a)
  ret <16 x i32> %call
}


declare i32 @_Z24_cl_convert_uint_sat_rtnj(i32) local_unnamed_addr #0

define spir_func i32 @_Z20convert_uint_sat_rtnj(i32 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z24_cl_convert_uint_sat_rtnj(i32 %a)
  ret i32 %call
}


declare <2 x i32> @_Z25_cl_convert_uint2_sat_rtnDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z21convert_uint2_sat_rtnDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z25_cl_convert_uint2_sat_rtnDv2_j(<2 x i32> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z25_cl_convert_uint3_sat_rtnDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z21convert_uint3_sat_rtnDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z25_cl_convert_uint3_sat_rtnDv3_j(<3 x i32> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z25_cl_convert_uint4_sat_rtnDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z21convert_uint4_sat_rtnDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z25_cl_convert_uint4_sat_rtnDv4_j(<4 x i32> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z25_cl_convert_uint8_sat_rtnDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z21convert_uint8_sat_rtnDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z25_cl_convert_uint8_sat_rtnDv8_j(<8 x i32> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z26_cl_convert_uint16_sat_rtnDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z22convert_uint16_sat_rtnDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z26_cl_convert_uint16_sat_rtnDv16_j(<16 x i32> %a)
  ret <16 x i32> %call
}


declare i32 @_Z24_cl_convert_uint_sat_rtej(i32) local_unnamed_addr #0

define spir_func i32 @_Z20convert_uint_sat_rtej(i32 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z24_cl_convert_uint_sat_rtej(i32 %a)
  ret i32 %call
}


declare <2 x i32> @_Z25_cl_convert_uint2_sat_rteDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z21convert_uint2_sat_rteDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z25_cl_convert_uint2_sat_rteDv2_j(<2 x i32> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z25_cl_convert_uint3_sat_rteDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z21convert_uint3_sat_rteDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z25_cl_convert_uint3_sat_rteDv3_j(<3 x i32> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z25_cl_convert_uint4_sat_rteDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z21convert_uint4_sat_rteDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z25_cl_convert_uint4_sat_rteDv4_j(<4 x i32> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z25_cl_convert_uint8_sat_rteDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z21convert_uint8_sat_rteDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z25_cl_convert_uint8_sat_rteDv8_j(<8 x i32> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z26_cl_convert_uint16_sat_rteDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z22convert_uint16_sat_rteDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z26_cl_convert_uint16_sat_rteDv16_j(<16 x i32> %a)
  ret <16 x i32> %call
}


declare i32 @_Z24_cl_convert_uint_sat_rtzj(i32) local_unnamed_addr #0

define spir_func i32 @_Z20convert_uint_sat_rtzj(i32 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z24_cl_convert_uint_sat_rtzj(i32 %a)
  ret i32 %call
}


declare <2 x i32> @_Z25_cl_convert_uint2_sat_rtzDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z21convert_uint2_sat_rtzDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z25_cl_convert_uint2_sat_rtzDv2_j(<2 x i32> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z25_cl_convert_uint3_sat_rtzDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z21convert_uint3_sat_rtzDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z25_cl_convert_uint3_sat_rtzDv3_j(<3 x i32> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z25_cl_convert_uint4_sat_rtzDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z21convert_uint4_sat_rtzDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z25_cl_convert_uint4_sat_rtzDv4_j(<4 x i32> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z25_cl_convert_uint8_sat_rtzDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z21convert_uint8_sat_rtzDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z25_cl_convert_uint8_sat_rtzDv8_j(<8 x i32> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z26_cl_convert_uint16_sat_rtzDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z22convert_uint16_sat_rtzDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z26_cl_convert_uint16_sat_rtzDv16_j(<16 x i32> %a)
  ret <16 x i32> %call
}


declare i32 @_Z16_cl_convert_uintl(i64) local_unnamed_addr #0

define spir_func i32 @_Z12convert_uintl(i64 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z16_cl_convert_uintl(i64 %a)
  ret i32 %call
}


declare <2 x i32> @_Z17_cl_convert_uint2Dv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z13convert_uint2Dv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z17_cl_convert_uint2Dv2_l(<2 x i64> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z17_cl_convert_uint3Dv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z13convert_uint3Dv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z17_cl_convert_uint3Dv3_l(<3 x i64> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z17_cl_convert_uint4Dv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z13convert_uint4Dv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z17_cl_convert_uint4Dv4_l(<4 x i64> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z17_cl_convert_uint8Dv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z13convert_uint8Dv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z17_cl_convert_uint8Dv8_l(<8 x i64> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z18_cl_convert_uint16Dv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z14convert_uint16Dv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z18_cl_convert_uint16Dv16_l(<16 x i64> %a)
  ret <16 x i32> %call
}


declare i32 @_Z20_cl_convert_uint_rtpl(i64) local_unnamed_addr #0

define spir_func i32 @_Z16convert_uint_rtpl(i64 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z20_cl_convert_uint_rtpl(i64 %a)
  ret i32 %call
}


declare <2 x i32> @_Z21_cl_convert_uint2_rtpDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z17convert_uint2_rtpDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z21_cl_convert_uint2_rtpDv2_l(<2 x i64> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z21_cl_convert_uint3_rtpDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z17convert_uint3_rtpDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z21_cl_convert_uint3_rtpDv3_l(<3 x i64> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z21_cl_convert_uint4_rtpDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z17convert_uint4_rtpDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z21_cl_convert_uint4_rtpDv4_l(<4 x i64> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z21_cl_convert_uint8_rtpDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z17convert_uint8_rtpDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z21_cl_convert_uint8_rtpDv8_l(<8 x i64> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z22_cl_convert_uint16_rtpDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z18convert_uint16_rtpDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z22_cl_convert_uint16_rtpDv16_l(<16 x i64> %a)
  ret <16 x i32> %call
}


declare i32 @_Z20_cl_convert_uint_rtnl(i64) local_unnamed_addr #0

define spir_func i32 @_Z16convert_uint_rtnl(i64 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z20_cl_convert_uint_rtnl(i64 %a)
  ret i32 %call
}


declare <2 x i32> @_Z21_cl_convert_uint2_rtnDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z17convert_uint2_rtnDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z21_cl_convert_uint2_rtnDv2_l(<2 x i64> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z21_cl_convert_uint3_rtnDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z17convert_uint3_rtnDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z21_cl_convert_uint3_rtnDv3_l(<3 x i64> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z21_cl_convert_uint4_rtnDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z17convert_uint4_rtnDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z21_cl_convert_uint4_rtnDv4_l(<4 x i64> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z21_cl_convert_uint8_rtnDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z17convert_uint8_rtnDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z21_cl_convert_uint8_rtnDv8_l(<8 x i64> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z22_cl_convert_uint16_rtnDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z18convert_uint16_rtnDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z22_cl_convert_uint16_rtnDv16_l(<16 x i64> %a)
  ret <16 x i32> %call
}


declare i32 @_Z20_cl_convert_uint_rtel(i64) local_unnamed_addr #0

define spir_func i32 @_Z16convert_uint_rtel(i64 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z20_cl_convert_uint_rtel(i64 %a)
  ret i32 %call
}


declare <2 x i32> @_Z21_cl_convert_uint2_rteDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z17convert_uint2_rteDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z21_cl_convert_uint2_rteDv2_l(<2 x i64> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z21_cl_convert_uint3_rteDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z17convert_uint3_rteDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z21_cl_convert_uint3_rteDv3_l(<3 x i64> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z21_cl_convert_uint4_rteDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z17convert_uint4_rteDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z21_cl_convert_uint4_rteDv4_l(<4 x i64> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z21_cl_convert_uint8_rteDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z17convert_uint8_rteDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z21_cl_convert_uint8_rteDv8_l(<8 x i64> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z22_cl_convert_uint16_rteDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z18convert_uint16_rteDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z22_cl_convert_uint16_rteDv16_l(<16 x i64> %a)
  ret <16 x i32> %call
}


declare i32 @_Z20_cl_convert_uint_rtzl(i64) local_unnamed_addr #0

define spir_func i32 @_Z16convert_uint_rtzl(i64 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z20_cl_convert_uint_rtzl(i64 %a)
  ret i32 %call
}


declare <2 x i32> @_Z21_cl_convert_uint2_rtzDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z17convert_uint2_rtzDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z21_cl_convert_uint2_rtzDv2_l(<2 x i64> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z21_cl_convert_uint3_rtzDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z17convert_uint3_rtzDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z21_cl_convert_uint3_rtzDv3_l(<3 x i64> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z21_cl_convert_uint4_rtzDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z17convert_uint4_rtzDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z21_cl_convert_uint4_rtzDv4_l(<4 x i64> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z21_cl_convert_uint8_rtzDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z17convert_uint8_rtzDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z21_cl_convert_uint8_rtzDv8_l(<8 x i64> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z22_cl_convert_uint16_rtzDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z18convert_uint16_rtzDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z22_cl_convert_uint16_rtzDv16_l(<16 x i64> %a)
  ret <16 x i32> %call
}


declare i32 @_Z20_cl_convert_uint_satl(i64) local_unnamed_addr #0

define spir_func i32 @_Z16convert_uint_satl(i64 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z20_cl_convert_uint_satl(i64 %a)
  ret i32 %call
}


declare <2 x i32> @_Z21_cl_convert_uint2_satDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z17convert_uint2_satDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z21_cl_convert_uint2_satDv2_l(<2 x i64> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z21_cl_convert_uint3_satDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z17convert_uint3_satDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z21_cl_convert_uint3_satDv3_l(<3 x i64> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z21_cl_convert_uint4_satDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z17convert_uint4_satDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z21_cl_convert_uint4_satDv4_l(<4 x i64> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z21_cl_convert_uint8_satDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z17convert_uint8_satDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z21_cl_convert_uint8_satDv8_l(<8 x i64> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z22_cl_convert_uint16_satDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z18convert_uint16_satDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z22_cl_convert_uint16_satDv16_l(<16 x i64> %a)
  ret <16 x i32> %call
}


declare i32 @_Z24_cl_convert_uint_sat_rtpl(i64) local_unnamed_addr #0

define spir_func i32 @_Z20convert_uint_sat_rtpl(i64 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z24_cl_convert_uint_sat_rtpl(i64 %a)
  ret i32 %call
}


declare <2 x i32> @_Z25_cl_convert_uint2_sat_rtpDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z21convert_uint2_sat_rtpDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z25_cl_convert_uint2_sat_rtpDv2_l(<2 x i64> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z25_cl_convert_uint3_sat_rtpDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z21convert_uint3_sat_rtpDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z25_cl_convert_uint3_sat_rtpDv3_l(<3 x i64> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z25_cl_convert_uint4_sat_rtpDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z21convert_uint4_sat_rtpDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z25_cl_convert_uint4_sat_rtpDv4_l(<4 x i64> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z25_cl_convert_uint8_sat_rtpDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z21convert_uint8_sat_rtpDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z25_cl_convert_uint8_sat_rtpDv8_l(<8 x i64> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z26_cl_convert_uint16_sat_rtpDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z22convert_uint16_sat_rtpDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z26_cl_convert_uint16_sat_rtpDv16_l(<16 x i64> %a)
  ret <16 x i32> %call
}


declare i32 @_Z24_cl_convert_uint_sat_rtnl(i64) local_unnamed_addr #0

define spir_func i32 @_Z20convert_uint_sat_rtnl(i64 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z24_cl_convert_uint_sat_rtnl(i64 %a)
  ret i32 %call
}


declare <2 x i32> @_Z25_cl_convert_uint2_sat_rtnDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z21convert_uint2_sat_rtnDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z25_cl_convert_uint2_sat_rtnDv2_l(<2 x i64> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z25_cl_convert_uint3_sat_rtnDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z21convert_uint3_sat_rtnDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z25_cl_convert_uint3_sat_rtnDv3_l(<3 x i64> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z25_cl_convert_uint4_sat_rtnDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z21convert_uint4_sat_rtnDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z25_cl_convert_uint4_sat_rtnDv4_l(<4 x i64> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z25_cl_convert_uint8_sat_rtnDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z21convert_uint8_sat_rtnDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z25_cl_convert_uint8_sat_rtnDv8_l(<8 x i64> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z26_cl_convert_uint16_sat_rtnDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z22convert_uint16_sat_rtnDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z26_cl_convert_uint16_sat_rtnDv16_l(<16 x i64> %a)
  ret <16 x i32> %call
}


declare i32 @_Z24_cl_convert_uint_sat_rtel(i64) local_unnamed_addr #0

define spir_func i32 @_Z20convert_uint_sat_rtel(i64 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z24_cl_convert_uint_sat_rtel(i64 %a)
  ret i32 %call
}


declare <2 x i32> @_Z25_cl_convert_uint2_sat_rteDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z21convert_uint2_sat_rteDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z25_cl_convert_uint2_sat_rteDv2_l(<2 x i64> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z25_cl_convert_uint3_sat_rteDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z21convert_uint3_sat_rteDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z25_cl_convert_uint3_sat_rteDv3_l(<3 x i64> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z25_cl_convert_uint4_sat_rteDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z21convert_uint4_sat_rteDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z25_cl_convert_uint4_sat_rteDv4_l(<4 x i64> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z25_cl_convert_uint8_sat_rteDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z21convert_uint8_sat_rteDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z25_cl_convert_uint8_sat_rteDv8_l(<8 x i64> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z26_cl_convert_uint16_sat_rteDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z22convert_uint16_sat_rteDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z26_cl_convert_uint16_sat_rteDv16_l(<16 x i64> %a)
  ret <16 x i32> %call
}


declare i32 @_Z24_cl_convert_uint_sat_rtzl(i64) local_unnamed_addr #0

define spir_func i32 @_Z20convert_uint_sat_rtzl(i64 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z24_cl_convert_uint_sat_rtzl(i64 %a)
  ret i32 %call
}


declare <2 x i32> @_Z25_cl_convert_uint2_sat_rtzDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z21convert_uint2_sat_rtzDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z25_cl_convert_uint2_sat_rtzDv2_l(<2 x i64> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z25_cl_convert_uint3_sat_rtzDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z21convert_uint3_sat_rtzDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z25_cl_convert_uint3_sat_rtzDv3_l(<3 x i64> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z25_cl_convert_uint4_sat_rtzDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z21convert_uint4_sat_rtzDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z25_cl_convert_uint4_sat_rtzDv4_l(<4 x i64> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z25_cl_convert_uint8_sat_rtzDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z21convert_uint8_sat_rtzDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z25_cl_convert_uint8_sat_rtzDv8_l(<8 x i64> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z26_cl_convert_uint16_sat_rtzDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z22convert_uint16_sat_rtzDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z26_cl_convert_uint16_sat_rtzDv16_l(<16 x i64> %a)
  ret <16 x i32> %call
}


declare i32 @_Z16_cl_convert_uintm(i64) local_unnamed_addr #0

define spir_func i32 @_Z12convert_uintm(i64 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z16_cl_convert_uintm(i64 %a)
  ret i32 %call
}


declare <2 x i32> @_Z17_cl_convert_uint2Dv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z13convert_uint2Dv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z17_cl_convert_uint2Dv2_m(<2 x i64> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z17_cl_convert_uint3Dv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z13convert_uint3Dv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z17_cl_convert_uint3Dv3_m(<3 x i64> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z17_cl_convert_uint4Dv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z13convert_uint4Dv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z17_cl_convert_uint4Dv4_m(<4 x i64> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z17_cl_convert_uint8Dv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z13convert_uint8Dv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z17_cl_convert_uint8Dv8_m(<8 x i64> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z18_cl_convert_uint16Dv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z14convert_uint16Dv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z18_cl_convert_uint16Dv16_m(<16 x i64> %a)
  ret <16 x i32> %call
}


declare i32 @_Z20_cl_convert_uint_rtpm(i64) local_unnamed_addr #0

define spir_func i32 @_Z16convert_uint_rtpm(i64 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z20_cl_convert_uint_rtpm(i64 %a)
  ret i32 %call
}


declare <2 x i32> @_Z21_cl_convert_uint2_rtpDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z17convert_uint2_rtpDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z21_cl_convert_uint2_rtpDv2_m(<2 x i64> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z21_cl_convert_uint3_rtpDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z17convert_uint3_rtpDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z21_cl_convert_uint3_rtpDv3_m(<3 x i64> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z21_cl_convert_uint4_rtpDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z17convert_uint4_rtpDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z21_cl_convert_uint4_rtpDv4_m(<4 x i64> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z21_cl_convert_uint8_rtpDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z17convert_uint8_rtpDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z21_cl_convert_uint8_rtpDv8_m(<8 x i64> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z22_cl_convert_uint16_rtpDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z18convert_uint16_rtpDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z22_cl_convert_uint16_rtpDv16_m(<16 x i64> %a)
  ret <16 x i32> %call
}


declare i32 @_Z20_cl_convert_uint_rtnm(i64) local_unnamed_addr #0

define spir_func i32 @_Z16convert_uint_rtnm(i64 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z20_cl_convert_uint_rtnm(i64 %a)
  ret i32 %call
}


declare <2 x i32> @_Z21_cl_convert_uint2_rtnDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z17convert_uint2_rtnDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z21_cl_convert_uint2_rtnDv2_m(<2 x i64> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z21_cl_convert_uint3_rtnDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z17convert_uint3_rtnDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z21_cl_convert_uint3_rtnDv3_m(<3 x i64> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z21_cl_convert_uint4_rtnDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z17convert_uint4_rtnDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z21_cl_convert_uint4_rtnDv4_m(<4 x i64> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z21_cl_convert_uint8_rtnDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z17convert_uint8_rtnDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z21_cl_convert_uint8_rtnDv8_m(<8 x i64> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z22_cl_convert_uint16_rtnDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z18convert_uint16_rtnDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z22_cl_convert_uint16_rtnDv16_m(<16 x i64> %a)
  ret <16 x i32> %call
}


declare i32 @_Z20_cl_convert_uint_rtem(i64) local_unnamed_addr #0

define spir_func i32 @_Z16convert_uint_rtem(i64 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z20_cl_convert_uint_rtem(i64 %a)
  ret i32 %call
}


declare <2 x i32> @_Z21_cl_convert_uint2_rteDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z17convert_uint2_rteDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z21_cl_convert_uint2_rteDv2_m(<2 x i64> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z21_cl_convert_uint3_rteDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z17convert_uint3_rteDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z21_cl_convert_uint3_rteDv3_m(<3 x i64> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z21_cl_convert_uint4_rteDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z17convert_uint4_rteDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z21_cl_convert_uint4_rteDv4_m(<4 x i64> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z21_cl_convert_uint8_rteDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z17convert_uint8_rteDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z21_cl_convert_uint8_rteDv8_m(<8 x i64> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z22_cl_convert_uint16_rteDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z18convert_uint16_rteDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z22_cl_convert_uint16_rteDv16_m(<16 x i64> %a)
  ret <16 x i32> %call
}


declare i32 @_Z20_cl_convert_uint_rtzm(i64) local_unnamed_addr #0

define spir_func i32 @_Z16convert_uint_rtzm(i64 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z20_cl_convert_uint_rtzm(i64 %a)
  ret i32 %call
}


declare <2 x i32> @_Z21_cl_convert_uint2_rtzDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z17convert_uint2_rtzDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z21_cl_convert_uint2_rtzDv2_m(<2 x i64> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z21_cl_convert_uint3_rtzDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z17convert_uint3_rtzDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z21_cl_convert_uint3_rtzDv3_m(<3 x i64> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z21_cl_convert_uint4_rtzDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z17convert_uint4_rtzDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z21_cl_convert_uint4_rtzDv4_m(<4 x i64> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z21_cl_convert_uint8_rtzDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z17convert_uint8_rtzDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z21_cl_convert_uint8_rtzDv8_m(<8 x i64> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z22_cl_convert_uint16_rtzDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z18convert_uint16_rtzDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z22_cl_convert_uint16_rtzDv16_m(<16 x i64> %a)
  ret <16 x i32> %call
}


declare i32 @_Z20_cl_convert_uint_satm(i64) local_unnamed_addr #0

define spir_func i32 @_Z16convert_uint_satm(i64 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z20_cl_convert_uint_satm(i64 %a)
  ret i32 %call
}


declare <2 x i32> @_Z21_cl_convert_uint2_satDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z17convert_uint2_satDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z21_cl_convert_uint2_satDv2_m(<2 x i64> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z21_cl_convert_uint3_satDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z17convert_uint3_satDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z21_cl_convert_uint3_satDv3_m(<3 x i64> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z21_cl_convert_uint4_satDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z17convert_uint4_satDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z21_cl_convert_uint4_satDv4_m(<4 x i64> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z21_cl_convert_uint8_satDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z17convert_uint8_satDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z21_cl_convert_uint8_satDv8_m(<8 x i64> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z22_cl_convert_uint16_satDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z18convert_uint16_satDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z22_cl_convert_uint16_satDv16_m(<16 x i64> %a)
  ret <16 x i32> %call
}


declare i32 @_Z24_cl_convert_uint_sat_rtpm(i64) local_unnamed_addr #0

define spir_func i32 @_Z20convert_uint_sat_rtpm(i64 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z24_cl_convert_uint_sat_rtpm(i64 %a)
  ret i32 %call
}


declare <2 x i32> @_Z25_cl_convert_uint2_sat_rtpDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z21convert_uint2_sat_rtpDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z25_cl_convert_uint2_sat_rtpDv2_m(<2 x i64> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z25_cl_convert_uint3_sat_rtpDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z21convert_uint3_sat_rtpDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z25_cl_convert_uint3_sat_rtpDv3_m(<3 x i64> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z25_cl_convert_uint4_sat_rtpDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z21convert_uint4_sat_rtpDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z25_cl_convert_uint4_sat_rtpDv4_m(<4 x i64> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z25_cl_convert_uint8_sat_rtpDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z21convert_uint8_sat_rtpDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z25_cl_convert_uint8_sat_rtpDv8_m(<8 x i64> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z26_cl_convert_uint16_sat_rtpDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z22convert_uint16_sat_rtpDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z26_cl_convert_uint16_sat_rtpDv16_m(<16 x i64> %a)
  ret <16 x i32> %call
}


declare i32 @_Z24_cl_convert_uint_sat_rtnm(i64) local_unnamed_addr #0

define spir_func i32 @_Z20convert_uint_sat_rtnm(i64 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z24_cl_convert_uint_sat_rtnm(i64 %a)
  ret i32 %call
}


declare <2 x i32> @_Z25_cl_convert_uint2_sat_rtnDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z21convert_uint2_sat_rtnDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z25_cl_convert_uint2_sat_rtnDv2_m(<2 x i64> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z25_cl_convert_uint3_sat_rtnDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z21convert_uint3_sat_rtnDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z25_cl_convert_uint3_sat_rtnDv3_m(<3 x i64> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z25_cl_convert_uint4_sat_rtnDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z21convert_uint4_sat_rtnDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z25_cl_convert_uint4_sat_rtnDv4_m(<4 x i64> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z25_cl_convert_uint8_sat_rtnDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z21convert_uint8_sat_rtnDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z25_cl_convert_uint8_sat_rtnDv8_m(<8 x i64> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z26_cl_convert_uint16_sat_rtnDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z22convert_uint16_sat_rtnDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z26_cl_convert_uint16_sat_rtnDv16_m(<16 x i64> %a)
  ret <16 x i32> %call
}


declare i32 @_Z24_cl_convert_uint_sat_rtem(i64) local_unnamed_addr #0

define spir_func i32 @_Z20convert_uint_sat_rtem(i64 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z24_cl_convert_uint_sat_rtem(i64 %a)
  ret i32 %call
}


declare <2 x i32> @_Z25_cl_convert_uint2_sat_rteDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z21convert_uint2_sat_rteDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z25_cl_convert_uint2_sat_rteDv2_m(<2 x i64> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z25_cl_convert_uint3_sat_rteDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z21convert_uint3_sat_rteDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z25_cl_convert_uint3_sat_rteDv3_m(<3 x i64> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z25_cl_convert_uint4_sat_rteDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z21convert_uint4_sat_rteDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z25_cl_convert_uint4_sat_rteDv4_m(<4 x i64> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z25_cl_convert_uint8_sat_rteDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z21convert_uint8_sat_rteDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z25_cl_convert_uint8_sat_rteDv8_m(<8 x i64> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z26_cl_convert_uint16_sat_rteDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z22convert_uint16_sat_rteDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z26_cl_convert_uint16_sat_rteDv16_m(<16 x i64> %a)
  ret <16 x i32> %call
}


declare i32 @_Z24_cl_convert_uint_sat_rtzm(i64) local_unnamed_addr #0

define spir_func i32 @_Z20convert_uint_sat_rtzm(i64 %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z24_cl_convert_uint_sat_rtzm(i64 %a)
  ret i32 %call
}


declare <2 x i32> @_Z25_cl_convert_uint2_sat_rtzDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z21convert_uint2_sat_rtzDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z25_cl_convert_uint2_sat_rtzDv2_m(<2 x i64> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z25_cl_convert_uint3_sat_rtzDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z21convert_uint3_sat_rtzDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z25_cl_convert_uint3_sat_rtzDv3_m(<3 x i64> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z25_cl_convert_uint4_sat_rtzDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z21convert_uint4_sat_rtzDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z25_cl_convert_uint4_sat_rtzDv4_m(<4 x i64> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z25_cl_convert_uint8_sat_rtzDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z21convert_uint8_sat_rtzDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z25_cl_convert_uint8_sat_rtzDv8_m(<8 x i64> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z26_cl_convert_uint16_sat_rtzDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z22convert_uint16_sat_rtzDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z26_cl_convert_uint16_sat_rtzDv16_m(<16 x i64> %a)
  ret <16 x i32> %call
}


declare i32 @_Z16_cl_convert_uintf(float) local_unnamed_addr #0

define spir_func i32 @_Z12convert_uintf(float %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z16_cl_convert_uintf(float %a)
  ret i32 %call
}


declare <2 x i32> @_Z17_cl_convert_uint2Dv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z13convert_uint2Dv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z17_cl_convert_uint2Dv2_f(<2 x float> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z17_cl_convert_uint3Dv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z13convert_uint3Dv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z17_cl_convert_uint3Dv3_f(<3 x float> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z17_cl_convert_uint4Dv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z13convert_uint4Dv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z17_cl_convert_uint4Dv4_f(<4 x float> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z17_cl_convert_uint8Dv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z13convert_uint8Dv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z17_cl_convert_uint8Dv8_f(<8 x float> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z18_cl_convert_uint16Dv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z14convert_uint16Dv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z18_cl_convert_uint16Dv16_f(<16 x float> %a)
  ret <16 x i32> %call
}


declare i32 @_Z20_cl_convert_uint_rtpf(float) local_unnamed_addr #0

define spir_func i32 @_Z16convert_uint_rtpf(float %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z20_cl_convert_uint_rtpf(float %a)
  ret i32 %call
}


declare <2 x i32> @_Z21_cl_convert_uint2_rtpDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z17convert_uint2_rtpDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z21_cl_convert_uint2_rtpDv2_f(<2 x float> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z21_cl_convert_uint3_rtpDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z17convert_uint3_rtpDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z21_cl_convert_uint3_rtpDv3_f(<3 x float> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z21_cl_convert_uint4_rtpDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z17convert_uint4_rtpDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z21_cl_convert_uint4_rtpDv4_f(<4 x float> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z21_cl_convert_uint8_rtpDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z17convert_uint8_rtpDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z21_cl_convert_uint8_rtpDv8_f(<8 x float> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z22_cl_convert_uint16_rtpDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z18convert_uint16_rtpDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z22_cl_convert_uint16_rtpDv16_f(<16 x float> %a)
  ret <16 x i32> %call
}


declare i32 @_Z20_cl_convert_uint_rtnf(float) local_unnamed_addr #0

define spir_func i32 @_Z16convert_uint_rtnf(float %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z20_cl_convert_uint_rtnf(float %a)
  ret i32 %call
}


declare <2 x i32> @_Z21_cl_convert_uint2_rtnDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z17convert_uint2_rtnDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z21_cl_convert_uint2_rtnDv2_f(<2 x float> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z21_cl_convert_uint3_rtnDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z17convert_uint3_rtnDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z21_cl_convert_uint3_rtnDv3_f(<3 x float> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z21_cl_convert_uint4_rtnDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z17convert_uint4_rtnDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z21_cl_convert_uint4_rtnDv4_f(<4 x float> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z21_cl_convert_uint8_rtnDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z17convert_uint8_rtnDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z21_cl_convert_uint8_rtnDv8_f(<8 x float> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z22_cl_convert_uint16_rtnDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z18convert_uint16_rtnDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z22_cl_convert_uint16_rtnDv16_f(<16 x float> %a)
  ret <16 x i32> %call
}


declare i32 @_Z20_cl_convert_uint_rtef(float) local_unnamed_addr #0

define spir_func i32 @_Z16convert_uint_rtef(float %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z20_cl_convert_uint_rtef(float %a)
  ret i32 %call
}


declare <2 x i32> @_Z21_cl_convert_uint2_rteDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z17convert_uint2_rteDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z21_cl_convert_uint2_rteDv2_f(<2 x float> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z21_cl_convert_uint3_rteDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z17convert_uint3_rteDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z21_cl_convert_uint3_rteDv3_f(<3 x float> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z21_cl_convert_uint4_rteDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z17convert_uint4_rteDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z21_cl_convert_uint4_rteDv4_f(<4 x float> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z21_cl_convert_uint8_rteDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z17convert_uint8_rteDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z21_cl_convert_uint8_rteDv8_f(<8 x float> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z22_cl_convert_uint16_rteDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z18convert_uint16_rteDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z22_cl_convert_uint16_rteDv16_f(<16 x float> %a)
  ret <16 x i32> %call
}


declare i32 @_Z20_cl_convert_uint_rtzf(float) local_unnamed_addr #0

define spir_func i32 @_Z16convert_uint_rtzf(float %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z20_cl_convert_uint_rtzf(float %a)
  ret i32 %call
}


declare <2 x i32> @_Z21_cl_convert_uint2_rtzDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z17convert_uint2_rtzDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z21_cl_convert_uint2_rtzDv2_f(<2 x float> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z21_cl_convert_uint3_rtzDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z17convert_uint3_rtzDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z21_cl_convert_uint3_rtzDv3_f(<3 x float> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z21_cl_convert_uint4_rtzDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z17convert_uint4_rtzDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z21_cl_convert_uint4_rtzDv4_f(<4 x float> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z21_cl_convert_uint8_rtzDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z17convert_uint8_rtzDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z21_cl_convert_uint8_rtzDv8_f(<8 x float> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z22_cl_convert_uint16_rtzDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z18convert_uint16_rtzDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z22_cl_convert_uint16_rtzDv16_f(<16 x float> %a)
  ret <16 x i32> %call
}


declare i32 @_Z20_cl_convert_uint_satf(float) local_unnamed_addr #0

define spir_func i32 @_Z16convert_uint_satf(float %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z20_cl_convert_uint_satf(float %a)
  ret i32 %call
}


declare <2 x i32> @_Z21_cl_convert_uint2_satDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z17convert_uint2_satDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z21_cl_convert_uint2_satDv2_f(<2 x float> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z21_cl_convert_uint3_satDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z17convert_uint3_satDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z21_cl_convert_uint3_satDv3_f(<3 x float> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z21_cl_convert_uint4_satDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z17convert_uint4_satDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z21_cl_convert_uint4_satDv4_f(<4 x float> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z21_cl_convert_uint8_satDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z17convert_uint8_satDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z21_cl_convert_uint8_satDv8_f(<8 x float> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z22_cl_convert_uint16_satDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z18convert_uint16_satDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z22_cl_convert_uint16_satDv16_f(<16 x float> %a)
  ret <16 x i32> %call
}


declare i32 @_Z24_cl_convert_uint_sat_rtpf(float) local_unnamed_addr #0

define spir_func i32 @_Z20convert_uint_sat_rtpf(float %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z24_cl_convert_uint_sat_rtpf(float %a)
  ret i32 %call
}


declare <2 x i32> @_Z25_cl_convert_uint2_sat_rtpDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z21convert_uint2_sat_rtpDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z25_cl_convert_uint2_sat_rtpDv2_f(<2 x float> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z25_cl_convert_uint3_sat_rtpDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z21convert_uint3_sat_rtpDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z25_cl_convert_uint3_sat_rtpDv3_f(<3 x float> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z25_cl_convert_uint4_sat_rtpDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z21convert_uint4_sat_rtpDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z25_cl_convert_uint4_sat_rtpDv4_f(<4 x float> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z25_cl_convert_uint8_sat_rtpDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z21convert_uint8_sat_rtpDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z25_cl_convert_uint8_sat_rtpDv8_f(<8 x float> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z26_cl_convert_uint16_sat_rtpDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z22convert_uint16_sat_rtpDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z26_cl_convert_uint16_sat_rtpDv16_f(<16 x float> %a)
  ret <16 x i32> %call
}


declare i32 @_Z24_cl_convert_uint_sat_rtnf(float) local_unnamed_addr #0

define spir_func i32 @_Z20convert_uint_sat_rtnf(float %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z24_cl_convert_uint_sat_rtnf(float %a)
  ret i32 %call
}


declare <2 x i32> @_Z25_cl_convert_uint2_sat_rtnDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z21convert_uint2_sat_rtnDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z25_cl_convert_uint2_sat_rtnDv2_f(<2 x float> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z25_cl_convert_uint3_sat_rtnDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z21convert_uint3_sat_rtnDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z25_cl_convert_uint3_sat_rtnDv3_f(<3 x float> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z25_cl_convert_uint4_sat_rtnDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z21convert_uint4_sat_rtnDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z25_cl_convert_uint4_sat_rtnDv4_f(<4 x float> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z25_cl_convert_uint8_sat_rtnDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z21convert_uint8_sat_rtnDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z25_cl_convert_uint8_sat_rtnDv8_f(<8 x float> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z26_cl_convert_uint16_sat_rtnDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z22convert_uint16_sat_rtnDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z26_cl_convert_uint16_sat_rtnDv16_f(<16 x float> %a)
  ret <16 x i32> %call
}


declare i32 @_Z24_cl_convert_uint_sat_rtef(float) local_unnamed_addr #0

define spir_func i32 @_Z20convert_uint_sat_rtef(float %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z24_cl_convert_uint_sat_rtef(float %a)
  ret i32 %call
}


declare <2 x i32> @_Z25_cl_convert_uint2_sat_rteDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z21convert_uint2_sat_rteDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z25_cl_convert_uint2_sat_rteDv2_f(<2 x float> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z25_cl_convert_uint3_sat_rteDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z21convert_uint3_sat_rteDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z25_cl_convert_uint3_sat_rteDv3_f(<3 x float> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z25_cl_convert_uint4_sat_rteDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z21convert_uint4_sat_rteDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z25_cl_convert_uint4_sat_rteDv4_f(<4 x float> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z25_cl_convert_uint8_sat_rteDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z21convert_uint8_sat_rteDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z25_cl_convert_uint8_sat_rteDv8_f(<8 x float> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z26_cl_convert_uint16_sat_rteDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z22convert_uint16_sat_rteDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z26_cl_convert_uint16_sat_rteDv16_f(<16 x float> %a)
  ret <16 x i32> %call
}


declare i32 @_Z24_cl_convert_uint_sat_rtzf(float) local_unnamed_addr #0

define spir_func i32 @_Z20convert_uint_sat_rtzf(float %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z24_cl_convert_uint_sat_rtzf(float %a)
  ret i32 %call
}


declare <2 x i32> @_Z25_cl_convert_uint2_sat_rtzDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z21convert_uint2_sat_rtzDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z25_cl_convert_uint2_sat_rtzDv2_f(<2 x float> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z25_cl_convert_uint3_sat_rtzDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z21convert_uint3_sat_rtzDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z25_cl_convert_uint3_sat_rtzDv3_f(<3 x float> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z25_cl_convert_uint4_sat_rtzDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z21convert_uint4_sat_rtzDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z25_cl_convert_uint4_sat_rtzDv4_f(<4 x float> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z25_cl_convert_uint8_sat_rtzDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z21convert_uint8_sat_rtzDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z25_cl_convert_uint8_sat_rtzDv8_f(<8 x float> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z26_cl_convert_uint16_sat_rtzDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z22convert_uint16_sat_rtzDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z26_cl_convert_uint16_sat_rtzDv16_f(<16 x float> %a)
  ret <16 x i32> %call
}


declare i32 @_Z16_cl_convert_uintd(double) local_unnamed_addr #0

define spir_func i32 @_Z12convert_uintd(double %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z16_cl_convert_uintd(double %a)
  ret i32 %call
}


declare <2 x i32> @_Z17_cl_convert_uint2Dv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z13convert_uint2Dv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z17_cl_convert_uint2Dv2_d(<2 x double> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z17_cl_convert_uint3Dv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z13convert_uint3Dv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z17_cl_convert_uint3Dv3_d(<3 x double> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z17_cl_convert_uint4Dv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z13convert_uint4Dv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z17_cl_convert_uint4Dv4_d(<4 x double> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z17_cl_convert_uint8Dv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z13convert_uint8Dv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z17_cl_convert_uint8Dv8_d(<8 x double> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z18_cl_convert_uint16Dv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z14convert_uint16Dv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z18_cl_convert_uint16Dv16_d(<16 x double> %a)
  ret <16 x i32> %call
}


declare i32 @_Z20_cl_convert_uint_rtpd(double) local_unnamed_addr #0

define spir_func i32 @_Z16convert_uint_rtpd(double %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z20_cl_convert_uint_rtpd(double %a)
  ret i32 %call
}


declare <2 x i32> @_Z21_cl_convert_uint2_rtpDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z17convert_uint2_rtpDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z21_cl_convert_uint2_rtpDv2_d(<2 x double> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z21_cl_convert_uint3_rtpDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z17convert_uint3_rtpDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z21_cl_convert_uint3_rtpDv3_d(<3 x double> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z21_cl_convert_uint4_rtpDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z17convert_uint4_rtpDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z21_cl_convert_uint4_rtpDv4_d(<4 x double> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z21_cl_convert_uint8_rtpDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z17convert_uint8_rtpDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z21_cl_convert_uint8_rtpDv8_d(<8 x double> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z22_cl_convert_uint16_rtpDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z18convert_uint16_rtpDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z22_cl_convert_uint16_rtpDv16_d(<16 x double> %a)
  ret <16 x i32> %call
}


declare i32 @_Z20_cl_convert_uint_rtnd(double) local_unnamed_addr #0

define spir_func i32 @_Z16convert_uint_rtnd(double %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z20_cl_convert_uint_rtnd(double %a)
  ret i32 %call
}


declare <2 x i32> @_Z21_cl_convert_uint2_rtnDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z17convert_uint2_rtnDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z21_cl_convert_uint2_rtnDv2_d(<2 x double> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z21_cl_convert_uint3_rtnDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z17convert_uint3_rtnDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z21_cl_convert_uint3_rtnDv3_d(<3 x double> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z21_cl_convert_uint4_rtnDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z17convert_uint4_rtnDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z21_cl_convert_uint4_rtnDv4_d(<4 x double> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z21_cl_convert_uint8_rtnDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z17convert_uint8_rtnDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z21_cl_convert_uint8_rtnDv8_d(<8 x double> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z22_cl_convert_uint16_rtnDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z18convert_uint16_rtnDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z22_cl_convert_uint16_rtnDv16_d(<16 x double> %a)
  ret <16 x i32> %call
}


declare i32 @_Z20_cl_convert_uint_rted(double) local_unnamed_addr #0

define spir_func i32 @_Z16convert_uint_rted(double %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z20_cl_convert_uint_rted(double %a)
  ret i32 %call
}


declare <2 x i32> @_Z21_cl_convert_uint2_rteDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z17convert_uint2_rteDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z21_cl_convert_uint2_rteDv2_d(<2 x double> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z21_cl_convert_uint3_rteDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z17convert_uint3_rteDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z21_cl_convert_uint3_rteDv3_d(<3 x double> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z21_cl_convert_uint4_rteDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z17convert_uint4_rteDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z21_cl_convert_uint4_rteDv4_d(<4 x double> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z21_cl_convert_uint8_rteDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z17convert_uint8_rteDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z21_cl_convert_uint8_rteDv8_d(<8 x double> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z22_cl_convert_uint16_rteDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z18convert_uint16_rteDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z22_cl_convert_uint16_rteDv16_d(<16 x double> %a)
  ret <16 x i32> %call
}


declare i32 @_Z20_cl_convert_uint_rtzd(double) local_unnamed_addr #0

define spir_func i32 @_Z16convert_uint_rtzd(double %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z20_cl_convert_uint_rtzd(double %a)
  ret i32 %call
}


declare <2 x i32> @_Z21_cl_convert_uint2_rtzDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z17convert_uint2_rtzDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z21_cl_convert_uint2_rtzDv2_d(<2 x double> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z21_cl_convert_uint3_rtzDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z17convert_uint3_rtzDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z21_cl_convert_uint3_rtzDv3_d(<3 x double> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z21_cl_convert_uint4_rtzDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z17convert_uint4_rtzDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z21_cl_convert_uint4_rtzDv4_d(<4 x double> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z21_cl_convert_uint8_rtzDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z17convert_uint8_rtzDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z21_cl_convert_uint8_rtzDv8_d(<8 x double> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z22_cl_convert_uint16_rtzDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z18convert_uint16_rtzDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z22_cl_convert_uint16_rtzDv16_d(<16 x double> %a)
  ret <16 x i32> %call
}


declare i32 @_Z20_cl_convert_uint_satd(double) local_unnamed_addr #0

define spir_func i32 @_Z16convert_uint_satd(double %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z20_cl_convert_uint_satd(double %a)
  ret i32 %call
}


declare <2 x i32> @_Z21_cl_convert_uint2_satDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z17convert_uint2_satDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z21_cl_convert_uint2_satDv2_d(<2 x double> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z21_cl_convert_uint3_satDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z17convert_uint3_satDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z21_cl_convert_uint3_satDv3_d(<3 x double> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z21_cl_convert_uint4_satDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z17convert_uint4_satDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z21_cl_convert_uint4_satDv4_d(<4 x double> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z21_cl_convert_uint8_satDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z17convert_uint8_satDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z21_cl_convert_uint8_satDv8_d(<8 x double> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z22_cl_convert_uint16_satDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z18convert_uint16_satDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z22_cl_convert_uint16_satDv16_d(<16 x double> %a)
  ret <16 x i32> %call
}


declare i32 @_Z24_cl_convert_uint_sat_rtpd(double) local_unnamed_addr #0

define spir_func i32 @_Z20convert_uint_sat_rtpd(double %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z24_cl_convert_uint_sat_rtpd(double %a)
  ret i32 %call
}


declare <2 x i32> @_Z25_cl_convert_uint2_sat_rtpDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z21convert_uint2_sat_rtpDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z25_cl_convert_uint2_sat_rtpDv2_d(<2 x double> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z25_cl_convert_uint3_sat_rtpDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z21convert_uint3_sat_rtpDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z25_cl_convert_uint3_sat_rtpDv3_d(<3 x double> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z25_cl_convert_uint4_sat_rtpDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z21convert_uint4_sat_rtpDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z25_cl_convert_uint4_sat_rtpDv4_d(<4 x double> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z25_cl_convert_uint8_sat_rtpDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z21convert_uint8_sat_rtpDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z25_cl_convert_uint8_sat_rtpDv8_d(<8 x double> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z26_cl_convert_uint16_sat_rtpDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z22convert_uint16_sat_rtpDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z26_cl_convert_uint16_sat_rtpDv16_d(<16 x double> %a)
  ret <16 x i32> %call
}


declare i32 @_Z24_cl_convert_uint_sat_rtnd(double) local_unnamed_addr #0

define spir_func i32 @_Z20convert_uint_sat_rtnd(double %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z24_cl_convert_uint_sat_rtnd(double %a)
  ret i32 %call
}


declare <2 x i32> @_Z25_cl_convert_uint2_sat_rtnDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z21convert_uint2_sat_rtnDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z25_cl_convert_uint2_sat_rtnDv2_d(<2 x double> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z25_cl_convert_uint3_sat_rtnDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z21convert_uint3_sat_rtnDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z25_cl_convert_uint3_sat_rtnDv3_d(<3 x double> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z25_cl_convert_uint4_sat_rtnDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z21convert_uint4_sat_rtnDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z25_cl_convert_uint4_sat_rtnDv4_d(<4 x double> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z25_cl_convert_uint8_sat_rtnDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z21convert_uint8_sat_rtnDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z25_cl_convert_uint8_sat_rtnDv8_d(<8 x double> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z26_cl_convert_uint16_sat_rtnDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z22convert_uint16_sat_rtnDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z26_cl_convert_uint16_sat_rtnDv16_d(<16 x double> %a)
  ret <16 x i32> %call
}


declare i32 @_Z24_cl_convert_uint_sat_rted(double) local_unnamed_addr #0

define spir_func i32 @_Z20convert_uint_sat_rted(double %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z24_cl_convert_uint_sat_rted(double %a)
  ret i32 %call
}


declare <2 x i32> @_Z25_cl_convert_uint2_sat_rteDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z21convert_uint2_sat_rteDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z25_cl_convert_uint2_sat_rteDv2_d(<2 x double> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z25_cl_convert_uint3_sat_rteDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z21convert_uint3_sat_rteDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z25_cl_convert_uint3_sat_rteDv3_d(<3 x double> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z25_cl_convert_uint4_sat_rteDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z21convert_uint4_sat_rteDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z25_cl_convert_uint4_sat_rteDv4_d(<4 x double> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z25_cl_convert_uint8_sat_rteDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z21convert_uint8_sat_rteDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z25_cl_convert_uint8_sat_rteDv8_d(<8 x double> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z26_cl_convert_uint16_sat_rteDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z22convert_uint16_sat_rteDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z26_cl_convert_uint16_sat_rteDv16_d(<16 x double> %a)
  ret <16 x i32> %call
}


declare i32 @_Z24_cl_convert_uint_sat_rtzd(double) local_unnamed_addr #0

define spir_func i32 @_Z20convert_uint_sat_rtzd(double %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z24_cl_convert_uint_sat_rtzd(double %a)
  ret i32 %call
}


declare <2 x i32> @_Z25_cl_convert_uint2_sat_rtzDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x i32> @_Z21convert_uint2_sat_rtzDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i32> @_Z25_cl_convert_uint2_sat_rtzDv2_d(<2 x double> %a)
  ret <2 x i32> %call
}


declare <3 x i32> @_Z25_cl_convert_uint3_sat_rtzDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x i32> @_Z21convert_uint3_sat_rtzDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i32> @_Z25_cl_convert_uint3_sat_rtzDv3_d(<3 x double> %a)
  ret <3 x i32> %call
}


declare <4 x i32> @_Z25_cl_convert_uint4_sat_rtzDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x i32> @_Z21convert_uint4_sat_rtzDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i32> @_Z25_cl_convert_uint4_sat_rtzDv4_d(<4 x double> %a)
  ret <4 x i32> %call
}


declare <8 x i32> @_Z25_cl_convert_uint8_sat_rtzDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x i32> @_Z21convert_uint8_sat_rtzDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i32> @_Z25_cl_convert_uint8_sat_rtzDv8_d(<8 x double> %a)
  ret <8 x i32> %call
}


declare <16 x i32> @_Z26_cl_convert_uint16_sat_rtzDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x i32> @_Z22convert_uint16_sat_rtzDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i32> @_Z26_cl_convert_uint16_sat_rtzDv16_d(<16 x double> %a)
  ret <16 x i32> %call
}


declare i64 @_Z16_cl_convert_longc(i8) local_unnamed_addr #0

define spir_func i64 @_Z12convert_longc(i8 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z16_cl_convert_longc(i8 %a)
  ret i64 %call
}


declare <2 x i64> @_Z17_cl_convert_long2Dv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z13convert_long2Dv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z17_cl_convert_long2Dv2_c(<2 x i8> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z17_cl_convert_long3Dv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z13convert_long3Dv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z17_cl_convert_long3Dv3_c(<3 x i8> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z17_cl_convert_long4Dv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z13convert_long4Dv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z17_cl_convert_long4Dv4_c(<4 x i8> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z17_cl_convert_long8Dv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z13convert_long8Dv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z17_cl_convert_long8Dv8_c(<8 x i8> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z18_cl_convert_long16Dv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z14convert_long16Dv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z18_cl_convert_long16Dv16_c(<16 x i8> %a)
  ret <16 x i64> %call
}


declare i64 @_Z20_cl_convert_long_rtpc(i8) local_unnamed_addr #0

define spir_func i64 @_Z16convert_long_rtpc(i8 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z20_cl_convert_long_rtpc(i8 %a)
  ret i64 %call
}


declare <2 x i64> @_Z21_cl_convert_long2_rtpDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z17convert_long2_rtpDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z21_cl_convert_long2_rtpDv2_c(<2 x i8> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z21_cl_convert_long3_rtpDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z17convert_long3_rtpDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z21_cl_convert_long3_rtpDv3_c(<3 x i8> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z21_cl_convert_long4_rtpDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z17convert_long4_rtpDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z21_cl_convert_long4_rtpDv4_c(<4 x i8> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z21_cl_convert_long8_rtpDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z17convert_long8_rtpDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z21_cl_convert_long8_rtpDv8_c(<8 x i8> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z22_cl_convert_long16_rtpDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z18convert_long16_rtpDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z22_cl_convert_long16_rtpDv16_c(<16 x i8> %a)
  ret <16 x i64> %call
}


declare i64 @_Z20_cl_convert_long_rtnc(i8) local_unnamed_addr #0

define spir_func i64 @_Z16convert_long_rtnc(i8 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z20_cl_convert_long_rtnc(i8 %a)
  ret i64 %call
}


declare <2 x i64> @_Z21_cl_convert_long2_rtnDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z17convert_long2_rtnDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z21_cl_convert_long2_rtnDv2_c(<2 x i8> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z21_cl_convert_long3_rtnDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z17convert_long3_rtnDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z21_cl_convert_long3_rtnDv3_c(<3 x i8> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z21_cl_convert_long4_rtnDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z17convert_long4_rtnDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z21_cl_convert_long4_rtnDv4_c(<4 x i8> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z21_cl_convert_long8_rtnDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z17convert_long8_rtnDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z21_cl_convert_long8_rtnDv8_c(<8 x i8> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z22_cl_convert_long16_rtnDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z18convert_long16_rtnDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z22_cl_convert_long16_rtnDv16_c(<16 x i8> %a)
  ret <16 x i64> %call
}


declare i64 @_Z20_cl_convert_long_rtec(i8) local_unnamed_addr #0

define spir_func i64 @_Z16convert_long_rtec(i8 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z20_cl_convert_long_rtec(i8 %a)
  ret i64 %call
}


declare <2 x i64> @_Z21_cl_convert_long2_rteDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z17convert_long2_rteDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z21_cl_convert_long2_rteDv2_c(<2 x i8> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z21_cl_convert_long3_rteDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z17convert_long3_rteDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z21_cl_convert_long3_rteDv3_c(<3 x i8> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z21_cl_convert_long4_rteDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z17convert_long4_rteDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z21_cl_convert_long4_rteDv4_c(<4 x i8> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z21_cl_convert_long8_rteDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z17convert_long8_rteDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z21_cl_convert_long8_rteDv8_c(<8 x i8> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z22_cl_convert_long16_rteDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z18convert_long16_rteDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z22_cl_convert_long16_rteDv16_c(<16 x i8> %a)
  ret <16 x i64> %call
}


declare i64 @_Z20_cl_convert_long_rtzc(i8) local_unnamed_addr #0

define spir_func i64 @_Z16convert_long_rtzc(i8 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z20_cl_convert_long_rtzc(i8 %a)
  ret i64 %call
}


declare <2 x i64> @_Z21_cl_convert_long2_rtzDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z17convert_long2_rtzDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z21_cl_convert_long2_rtzDv2_c(<2 x i8> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z21_cl_convert_long3_rtzDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z17convert_long3_rtzDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z21_cl_convert_long3_rtzDv3_c(<3 x i8> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z21_cl_convert_long4_rtzDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z17convert_long4_rtzDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z21_cl_convert_long4_rtzDv4_c(<4 x i8> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z21_cl_convert_long8_rtzDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z17convert_long8_rtzDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z21_cl_convert_long8_rtzDv8_c(<8 x i8> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z22_cl_convert_long16_rtzDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z18convert_long16_rtzDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z22_cl_convert_long16_rtzDv16_c(<16 x i8> %a)
  ret <16 x i64> %call
}


declare i64 @_Z20_cl_convert_long_satc(i8) local_unnamed_addr #0

define spir_func i64 @_Z16convert_long_satc(i8 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z20_cl_convert_long_satc(i8 %a)
  ret i64 %call
}


declare <2 x i64> @_Z21_cl_convert_long2_satDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z17convert_long2_satDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z21_cl_convert_long2_satDv2_c(<2 x i8> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z21_cl_convert_long3_satDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z17convert_long3_satDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z21_cl_convert_long3_satDv3_c(<3 x i8> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z21_cl_convert_long4_satDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z17convert_long4_satDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z21_cl_convert_long4_satDv4_c(<4 x i8> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z21_cl_convert_long8_satDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z17convert_long8_satDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z21_cl_convert_long8_satDv8_c(<8 x i8> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z22_cl_convert_long16_satDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z18convert_long16_satDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z22_cl_convert_long16_satDv16_c(<16 x i8> %a)
  ret <16 x i64> %call
}


declare i64 @_Z24_cl_convert_long_sat_rtpc(i8) local_unnamed_addr #0

define spir_func i64 @_Z20convert_long_sat_rtpc(i8 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z24_cl_convert_long_sat_rtpc(i8 %a)
  ret i64 %call
}


declare <2 x i64> @_Z25_cl_convert_long2_sat_rtpDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z21convert_long2_sat_rtpDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z25_cl_convert_long2_sat_rtpDv2_c(<2 x i8> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z25_cl_convert_long3_sat_rtpDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z21convert_long3_sat_rtpDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z25_cl_convert_long3_sat_rtpDv3_c(<3 x i8> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z25_cl_convert_long4_sat_rtpDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z21convert_long4_sat_rtpDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z25_cl_convert_long4_sat_rtpDv4_c(<4 x i8> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z25_cl_convert_long8_sat_rtpDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z21convert_long8_sat_rtpDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z25_cl_convert_long8_sat_rtpDv8_c(<8 x i8> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z26_cl_convert_long16_sat_rtpDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z22convert_long16_sat_rtpDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z26_cl_convert_long16_sat_rtpDv16_c(<16 x i8> %a)
  ret <16 x i64> %call
}


declare i64 @_Z24_cl_convert_long_sat_rtnc(i8) local_unnamed_addr #0

define spir_func i64 @_Z20convert_long_sat_rtnc(i8 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z24_cl_convert_long_sat_rtnc(i8 %a)
  ret i64 %call
}


declare <2 x i64> @_Z25_cl_convert_long2_sat_rtnDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z21convert_long2_sat_rtnDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z25_cl_convert_long2_sat_rtnDv2_c(<2 x i8> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z25_cl_convert_long3_sat_rtnDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z21convert_long3_sat_rtnDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z25_cl_convert_long3_sat_rtnDv3_c(<3 x i8> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z25_cl_convert_long4_sat_rtnDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z21convert_long4_sat_rtnDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z25_cl_convert_long4_sat_rtnDv4_c(<4 x i8> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z25_cl_convert_long8_sat_rtnDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z21convert_long8_sat_rtnDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z25_cl_convert_long8_sat_rtnDv8_c(<8 x i8> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z26_cl_convert_long16_sat_rtnDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z22convert_long16_sat_rtnDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z26_cl_convert_long16_sat_rtnDv16_c(<16 x i8> %a)
  ret <16 x i64> %call
}


declare i64 @_Z24_cl_convert_long_sat_rtec(i8) local_unnamed_addr #0

define spir_func i64 @_Z20convert_long_sat_rtec(i8 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z24_cl_convert_long_sat_rtec(i8 %a)
  ret i64 %call
}


declare <2 x i64> @_Z25_cl_convert_long2_sat_rteDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z21convert_long2_sat_rteDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z25_cl_convert_long2_sat_rteDv2_c(<2 x i8> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z25_cl_convert_long3_sat_rteDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z21convert_long3_sat_rteDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z25_cl_convert_long3_sat_rteDv3_c(<3 x i8> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z25_cl_convert_long4_sat_rteDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z21convert_long4_sat_rteDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z25_cl_convert_long4_sat_rteDv4_c(<4 x i8> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z25_cl_convert_long8_sat_rteDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z21convert_long8_sat_rteDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z25_cl_convert_long8_sat_rteDv8_c(<8 x i8> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z26_cl_convert_long16_sat_rteDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z22convert_long16_sat_rteDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z26_cl_convert_long16_sat_rteDv16_c(<16 x i8> %a)
  ret <16 x i64> %call
}


declare i64 @_Z24_cl_convert_long_sat_rtzc(i8) local_unnamed_addr #0

define spir_func i64 @_Z20convert_long_sat_rtzc(i8 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z24_cl_convert_long_sat_rtzc(i8 %a)
  ret i64 %call
}


declare <2 x i64> @_Z25_cl_convert_long2_sat_rtzDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z21convert_long2_sat_rtzDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z25_cl_convert_long2_sat_rtzDv2_c(<2 x i8> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z25_cl_convert_long3_sat_rtzDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z21convert_long3_sat_rtzDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z25_cl_convert_long3_sat_rtzDv3_c(<3 x i8> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z25_cl_convert_long4_sat_rtzDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z21convert_long4_sat_rtzDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z25_cl_convert_long4_sat_rtzDv4_c(<4 x i8> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z25_cl_convert_long8_sat_rtzDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z21convert_long8_sat_rtzDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z25_cl_convert_long8_sat_rtzDv8_c(<8 x i8> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z26_cl_convert_long16_sat_rtzDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z22convert_long16_sat_rtzDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z26_cl_convert_long16_sat_rtzDv16_c(<16 x i8> %a)
  ret <16 x i64> %call
}


declare i64 @_Z16_cl_convert_longh(i8) local_unnamed_addr #0

define spir_func i64 @_Z12convert_longh(i8 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z16_cl_convert_longh(i8 %a)
  ret i64 %call
}


declare <2 x i64> @_Z17_cl_convert_long2Dv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z13convert_long2Dv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z17_cl_convert_long2Dv2_h(<2 x i8> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z17_cl_convert_long3Dv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z13convert_long3Dv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z17_cl_convert_long3Dv3_h(<3 x i8> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z17_cl_convert_long4Dv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z13convert_long4Dv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z17_cl_convert_long4Dv4_h(<4 x i8> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z17_cl_convert_long8Dv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z13convert_long8Dv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z17_cl_convert_long8Dv8_h(<8 x i8> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z18_cl_convert_long16Dv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z14convert_long16Dv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z18_cl_convert_long16Dv16_h(<16 x i8> %a)
  ret <16 x i64> %call
}


declare i64 @_Z20_cl_convert_long_rtph(i8) local_unnamed_addr #0

define spir_func i64 @_Z16convert_long_rtph(i8 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z20_cl_convert_long_rtph(i8 %a)
  ret i64 %call
}


declare <2 x i64> @_Z21_cl_convert_long2_rtpDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z17convert_long2_rtpDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z21_cl_convert_long2_rtpDv2_h(<2 x i8> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z21_cl_convert_long3_rtpDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z17convert_long3_rtpDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z21_cl_convert_long3_rtpDv3_h(<3 x i8> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z21_cl_convert_long4_rtpDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z17convert_long4_rtpDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z21_cl_convert_long4_rtpDv4_h(<4 x i8> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z21_cl_convert_long8_rtpDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z17convert_long8_rtpDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z21_cl_convert_long8_rtpDv8_h(<8 x i8> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z22_cl_convert_long16_rtpDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z18convert_long16_rtpDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z22_cl_convert_long16_rtpDv16_h(<16 x i8> %a)
  ret <16 x i64> %call
}


declare i64 @_Z20_cl_convert_long_rtnh(i8) local_unnamed_addr #0

define spir_func i64 @_Z16convert_long_rtnh(i8 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z20_cl_convert_long_rtnh(i8 %a)
  ret i64 %call
}


declare <2 x i64> @_Z21_cl_convert_long2_rtnDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z17convert_long2_rtnDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z21_cl_convert_long2_rtnDv2_h(<2 x i8> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z21_cl_convert_long3_rtnDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z17convert_long3_rtnDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z21_cl_convert_long3_rtnDv3_h(<3 x i8> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z21_cl_convert_long4_rtnDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z17convert_long4_rtnDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z21_cl_convert_long4_rtnDv4_h(<4 x i8> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z21_cl_convert_long8_rtnDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z17convert_long8_rtnDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z21_cl_convert_long8_rtnDv8_h(<8 x i8> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z22_cl_convert_long16_rtnDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z18convert_long16_rtnDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z22_cl_convert_long16_rtnDv16_h(<16 x i8> %a)
  ret <16 x i64> %call
}


declare i64 @_Z20_cl_convert_long_rteh(i8) local_unnamed_addr #0

define spir_func i64 @_Z16convert_long_rteh(i8 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z20_cl_convert_long_rteh(i8 %a)
  ret i64 %call
}


declare <2 x i64> @_Z21_cl_convert_long2_rteDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z17convert_long2_rteDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z21_cl_convert_long2_rteDv2_h(<2 x i8> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z21_cl_convert_long3_rteDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z17convert_long3_rteDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z21_cl_convert_long3_rteDv3_h(<3 x i8> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z21_cl_convert_long4_rteDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z17convert_long4_rteDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z21_cl_convert_long4_rteDv4_h(<4 x i8> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z21_cl_convert_long8_rteDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z17convert_long8_rteDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z21_cl_convert_long8_rteDv8_h(<8 x i8> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z22_cl_convert_long16_rteDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z18convert_long16_rteDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z22_cl_convert_long16_rteDv16_h(<16 x i8> %a)
  ret <16 x i64> %call
}


declare i64 @_Z20_cl_convert_long_rtzh(i8) local_unnamed_addr #0

define spir_func i64 @_Z16convert_long_rtzh(i8 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z20_cl_convert_long_rtzh(i8 %a)
  ret i64 %call
}


declare <2 x i64> @_Z21_cl_convert_long2_rtzDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z17convert_long2_rtzDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z21_cl_convert_long2_rtzDv2_h(<2 x i8> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z21_cl_convert_long3_rtzDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z17convert_long3_rtzDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z21_cl_convert_long3_rtzDv3_h(<3 x i8> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z21_cl_convert_long4_rtzDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z17convert_long4_rtzDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z21_cl_convert_long4_rtzDv4_h(<4 x i8> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z21_cl_convert_long8_rtzDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z17convert_long8_rtzDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z21_cl_convert_long8_rtzDv8_h(<8 x i8> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z22_cl_convert_long16_rtzDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z18convert_long16_rtzDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z22_cl_convert_long16_rtzDv16_h(<16 x i8> %a)
  ret <16 x i64> %call
}


declare i64 @_Z20_cl_convert_long_sath(i8) local_unnamed_addr #0

define spir_func i64 @_Z16convert_long_sath(i8 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z20_cl_convert_long_sath(i8 %a)
  ret i64 %call
}


declare <2 x i64> @_Z21_cl_convert_long2_satDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z17convert_long2_satDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z21_cl_convert_long2_satDv2_h(<2 x i8> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z21_cl_convert_long3_satDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z17convert_long3_satDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z21_cl_convert_long3_satDv3_h(<3 x i8> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z21_cl_convert_long4_satDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z17convert_long4_satDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z21_cl_convert_long4_satDv4_h(<4 x i8> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z21_cl_convert_long8_satDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z17convert_long8_satDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z21_cl_convert_long8_satDv8_h(<8 x i8> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z22_cl_convert_long16_satDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z18convert_long16_satDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z22_cl_convert_long16_satDv16_h(<16 x i8> %a)
  ret <16 x i64> %call
}


declare i64 @_Z24_cl_convert_long_sat_rtph(i8) local_unnamed_addr #0

define spir_func i64 @_Z20convert_long_sat_rtph(i8 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z24_cl_convert_long_sat_rtph(i8 %a)
  ret i64 %call
}


declare <2 x i64> @_Z25_cl_convert_long2_sat_rtpDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z21convert_long2_sat_rtpDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z25_cl_convert_long2_sat_rtpDv2_h(<2 x i8> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z25_cl_convert_long3_sat_rtpDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z21convert_long3_sat_rtpDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z25_cl_convert_long3_sat_rtpDv3_h(<3 x i8> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z25_cl_convert_long4_sat_rtpDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z21convert_long4_sat_rtpDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z25_cl_convert_long4_sat_rtpDv4_h(<4 x i8> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z25_cl_convert_long8_sat_rtpDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z21convert_long8_sat_rtpDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z25_cl_convert_long8_sat_rtpDv8_h(<8 x i8> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z26_cl_convert_long16_sat_rtpDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z22convert_long16_sat_rtpDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z26_cl_convert_long16_sat_rtpDv16_h(<16 x i8> %a)
  ret <16 x i64> %call
}


declare i64 @_Z24_cl_convert_long_sat_rtnh(i8) local_unnamed_addr #0

define spir_func i64 @_Z20convert_long_sat_rtnh(i8 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z24_cl_convert_long_sat_rtnh(i8 %a)
  ret i64 %call
}


declare <2 x i64> @_Z25_cl_convert_long2_sat_rtnDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z21convert_long2_sat_rtnDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z25_cl_convert_long2_sat_rtnDv2_h(<2 x i8> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z25_cl_convert_long3_sat_rtnDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z21convert_long3_sat_rtnDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z25_cl_convert_long3_sat_rtnDv3_h(<3 x i8> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z25_cl_convert_long4_sat_rtnDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z21convert_long4_sat_rtnDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z25_cl_convert_long4_sat_rtnDv4_h(<4 x i8> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z25_cl_convert_long8_sat_rtnDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z21convert_long8_sat_rtnDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z25_cl_convert_long8_sat_rtnDv8_h(<8 x i8> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z26_cl_convert_long16_sat_rtnDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z22convert_long16_sat_rtnDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z26_cl_convert_long16_sat_rtnDv16_h(<16 x i8> %a)
  ret <16 x i64> %call
}


declare i64 @_Z24_cl_convert_long_sat_rteh(i8) local_unnamed_addr #0

define spir_func i64 @_Z20convert_long_sat_rteh(i8 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z24_cl_convert_long_sat_rteh(i8 %a)
  ret i64 %call
}


declare <2 x i64> @_Z25_cl_convert_long2_sat_rteDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z21convert_long2_sat_rteDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z25_cl_convert_long2_sat_rteDv2_h(<2 x i8> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z25_cl_convert_long3_sat_rteDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z21convert_long3_sat_rteDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z25_cl_convert_long3_sat_rteDv3_h(<3 x i8> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z25_cl_convert_long4_sat_rteDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z21convert_long4_sat_rteDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z25_cl_convert_long4_sat_rteDv4_h(<4 x i8> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z25_cl_convert_long8_sat_rteDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z21convert_long8_sat_rteDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z25_cl_convert_long8_sat_rteDv8_h(<8 x i8> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z26_cl_convert_long16_sat_rteDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z22convert_long16_sat_rteDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z26_cl_convert_long16_sat_rteDv16_h(<16 x i8> %a)
  ret <16 x i64> %call
}


declare i64 @_Z24_cl_convert_long_sat_rtzh(i8) local_unnamed_addr #0

define spir_func i64 @_Z20convert_long_sat_rtzh(i8 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z24_cl_convert_long_sat_rtzh(i8 %a)
  ret i64 %call
}


declare <2 x i64> @_Z25_cl_convert_long2_sat_rtzDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z21convert_long2_sat_rtzDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z25_cl_convert_long2_sat_rtzDv2_h(<2 x i8> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z25_cl_convert_long3_sat_rtzDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z21convert_long3_sat_rtzDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z25_cl_convert_long3_sat_rtzDv3_h(<3 x i8> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z25_cl_convert_long4_sat_rtzDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z21convert_long4_sat_rtzDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z25_cl_convert_long4_sat_rtzDv4_h(<4 x i8> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z25_cl_convert_long8_sat_rtzDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z21convert_long8_sat_rtzDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z25_cl_convert_long8_sat_rtzDv8_h(<8 x i8> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z26_cl_convert_long16_sat_rtzDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z22convert_long16_sat_rtzDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z26_cl_convert_long16_sat_rtzDv16_h(<16 x i8> %a)
  ret <16 x i64> %call
}


declare i64 @_Z16_cl_convert_longs(i16) local_unnamed_addr #0

define spir_func i64 @_Z12convert_longs(i16 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z16_cl_convert_longs(i16 %a)
  ret i64 %call
}


declare <2 x i64> @_Z17_cl_convert_long2Dv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z13convert_long2Dv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z17_cl_convert_long2Dv2_s(<2 x i16> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z17_cl_convert_long3Dv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z13convert_long3Dv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z17_cl_convert_long3Dv3_s(<3 x i16> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z17_cl_convert_long4Dv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z13convert_long4Dv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z17_cl_convert_long4Dv4_s(<4 x i16> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z17_cl_convert_long8Dv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z13convert_long8Dv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z17_cl_convert_long8Dv8_s(<8 x i16> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z18_cl_convert_long16Dv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z14convert_long16Dv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z18_cl_convert_long16Dv16_s(<16 x i16> %a)
  ret <16 x i64> %call
}


declare i64 @_Z20_cl_convert_long_rtps(i16) local_unnamed_addr #0

define spir_func i64 @_Z16convert_long_rtps(i16 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z20_cl_convert_long_rtps(i16 %a)
  ret i64 %call
}


declare <2 x i64> @_Z21_cl_convert_long2_rtpDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z17convert_long2_rtpDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z21_cl_convert_long2_rtpDv2_s(<2 x i16> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z21_cl_convert_long3_rtpDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z17convert_long3_rtpDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z21_cl_convert_long3_rtpDv3_s(<3 x i16> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z21_cl_convert_long4_rtpDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z17convert_long4_rtpDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z21_cl_convert_long4_rtpDv4_s(<4 x i16> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z21_cl_convert_long8_rtpDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z17convert_long8_rtpDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z21_cl_convert_long8_rtpDv8_s(<8 x i16> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z22_cl_convert_long16_rtpDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z18convert_long16_rtpDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z22_cl_convert_long16_rtpDv16_s(<16 x i16> %a)
  ret <16 x i64> %call
}


declare i64 @_Z20_cl_convert_long_rtns(i16) local_unnamed_addr #0

define spir_func i64 @_Z16convert_long_rtns(i16 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z20_cl_convert_long_rtns(i16 %a)
  ret i64 %call
}


declare <2 x i64> @_Z21_cl_convert_long2_rtnDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z17convert_long2_rtnDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z21_cl_convert_long2_rtnDv2_s(<2 x i16> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z21_cl_convert_long3_rtnDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z17convert_long3_rtnDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z21_cl_convert_long3_rtnDv3_s(<3 x i16> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z21_cl_convert_long4_rtnDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z17convert_long4_rtnDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z21_cl_convert_long4_rtnDv4_s(<4 x i16> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z21_cl_convert_long8_rtnDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z17convert_long8_rtnDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z21_cl_convert_long8_rtnDv8_s(<8 x i16> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z22_cl_convert_long16_rtnDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z18convert_long16_rtnDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z22_cl_convert_long16_rtnDv16_s(<16 x i16> %a)
  ret <16 x i64> %call
}


declare i64 @_Z20_cl_convert_long_rtes(i16) local_unnamed_addr #0

define spir_func i64 @_Z16convert_long_rtes(i16 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z20_cl_convert_long_rtes(i16 %a)
  ret i64 %call
}


declare <2 x i64> @_Z21_cl_convert_long2_rteDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z17convert_long2_rteDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z21_cl_convert_long2_rteDv2_s(<2 x i16> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z21_cl_convert_long3_rteDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z17convert_long3_rteDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z21_cl_convert_long3_rteDv3_s(<3 x i16> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z21_cl_convert_long4_rteDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z17convert_long4_rteDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z21_cl_convert_long4_rteDv4_s(<4 x i16> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z21_cl_convert_long8_rteDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z17convert_long8_rteDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z21_cl_convert_long8_rteDv8_s(<8 x i16> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z22_cl_convert_long16_rteDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z18convert_long16_rteDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z22_cl_convert_long16_rteDv16_s(<16 x i16> %a)
  ret <16 x i64> %call
}


declare i64 @_Z20_cl_convert_long_rtzs(i16) local_unnamed_addr #0

define spir_func i64 @_Z16convert_long_rtzs(i16 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z20_cl_convert_long_rtzs(i16 %a)
  ret i64 %call
}


declare <2 x i64> @_Z21_cl_convert_long2_rtzDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z17convert_long2_rtzDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z21_cl_convert_long2_rtzDv2_s(<2 x i16> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z21_cl_convert_long3_rtzDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z17convert_long3_rtzDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z21_cl_convert_long3_rtzDv3_s(<3 x i16> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z21_cl_convert_long4_rtzDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z17convert_long4_rtzDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z21_cl_convert_long4_rtzDv4_s(<4 x i16> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z21_cl_convert_long8_rtzDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z17convert_long8_rtzDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z21_cl_convert_long8_rtzDv8_s(<8 x i16> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z22_cl_convert_long16_rtzDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z18convert_long16_rtzDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z22_cl_convert_long16_rtzDv16_s(<16 x i16> %a)
  ret <16 x i64> %call
}


declare i64 @_Z20_cl_convert_long_sats(i16) local_unnamed_addr #0

define spir_func i64 @_Z16convert_long_sats(i16 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z20_cl_convert_long_sats(i16 %a)
  ret i64 %call
}


declare <2 x i64> @_Z21_cl_convert_long2_satDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z17convert_long2_satDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z21_cl_convert_long2_satDv2_s(<2 x i16> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z21_cl_convert_long3_satDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z17convert_long3_satDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z21_cl_convert_long3_satDv3_s(<3 x i16> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z21_cl_convert_long4_satDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z17convert_long4_satDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z21_cl_convert_long4_satDv4_s(<4 x i16> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z21_cl_convert_long8_satDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z17convert_long8_satDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z21_cl_convert_long8_satDv8_s(<8 x i16> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z22_cl_convert_long16_satDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z18convert_long16_satDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z22_cl_convert_long16_satDv16_s(<16 x i16> %a)
  ret <16 x i64> %call
}


declare i64 @_Z24_cl_convert_long_sat_rtps(i16) local_unnamed_addr #0

define spir_func i64 @_Z20convert_long_sat_rtps(i16 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z24_cl_convert_long_sat_rtps(i16 %a)
  ret i64 %call
}


declare <2 x i64> @_Z25_cl_convert_long2_sat_rtpDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z21convert_long2_sat_rtpDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z25_cl_convert_long2_sat_rtpDv2_s(<2 x i16> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z25_cl_convert_long3_sat_rtpDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z21convert_long3_sat_rtpDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z25_cl_convert_long3_sat_rtpDv3_s(<3 x i16> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z25_cl_convert_long4_sat_rtpDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z21convert_long4_sat_rtpDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z25_cl_convert_long4_sat_rtpDv4_s(<4 x i16> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z25_cl_convert_long8_sat_rtpDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z21convert_long8_sat_rtpDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z25_cl_convert_long8_sat_rtpDv8_s(<8 x i16> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z26_cl_convert_long16_sat_rtpDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z22convert_long16_sat_rtpDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z26_cl_convert_long16_sat_rtpDv16_s(<16 x i16> %a)
  ret <16 x i64> %call
}


declare i64 @_Z24_cl_convert_long_sat_rtns(i16) local_unnamed_addr #0

define spir_func i64 @_Z20convert_long_sat_rtns(i16 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z24_cl_convert_long_sat_rtns(i16 %a)
  ret i64 %call
}


declare <2 x i64> @_Z25_cl_convert_long2_sat_rtnDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z21convert_long2_sat_rtnDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z25_cl_convert_long2_sat_rtnDv2_s(<2 x i16> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z25_cl_convert_long3_sat_rtnDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z21convert_long3_sat_rtnDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z25_cl_convert_long3_sat_rtnDv3_s(<3 x i16> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z25_cl_convert_long4_sat_rtnDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z21convert_long4_sat_rtnDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z25_cl_convert_long4_sat_rtnDv4_s(<4 x i16> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z25_cl_convert_long8_sat_rtnDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z21convert_long8_sat_rtnDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z25_cl_convert_long8_sat_rtnDv8_s(<8 x i16> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z26_cl_convert_long16_sat_rtnDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z22convert_long16_sat_rtnDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z26_cl_convert_long16_sat_rtnDv16_s(<16 x i16> %a)
  ret <16 x i64> %call
}


declare i64 @_Z24_cl_convert_long_sat_rtes(i16) local_unnamed_addr #0

define spir_func i64 @_Z20convert_long_sat_rtes(i16 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z24_cl_convert_long_sat_rtes(i16 %a)
  ret i64 %call
}


declare <2 x i64> @_Z25_cl_convert_long2_sat_rteDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z21convert_long2_sat_rteDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z25_cl_convert_long2_sat_rteDv2_s(<2 x i16> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z25_cl_convert_long3_sat_rteDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z21convert_long3_sat_rteDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z25_cl_convert_long3_sat_rteDv3_s(<3 x i16> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z25_cl_convert_long4_sat_rteDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z21convert_long4_sat_rteDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z25_cl_convert_long4_sat_rteDv4_s(<4 x i16> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z25_cl_convert_long8_sat_rteDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z21convert_long8_sat_rteDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z25_cl_convert_long8_sat_rteDv8_s(<8 x i16> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z26_cl_convert_long16_sat_rteDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z22convert_long16_sat_rteDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z26_cl_convert_long16_sat_rteDv16_s(<16 x i16> %a)
  ret <16 x i64> %call
}


declare i64 @_Z24_cl_convert_long_sat_rtzs(i16) local_unnamed_addr #0

define spir_func i64 @_Z20convert_long_sat_rtzs(i16 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z24_cl_convert_long_sat_rtzs(i16 %a)
  ret i64 %call
}


declare <2 x i64> @_Z25_cl_convert_long2_sat_rtzDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z21convert_long2_sat_rtzDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z25_cl_convert_long2_sat_rtzDv2_s(<2 x i16> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z25_cl_convert_long3_sat_rtzDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z21convert_long3_sat_rtzDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z25_cl_convert_long3_sat_rtzDv3_s(<3 x i16> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z25_cl_convert_long4_sat_rtzDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z21convert_long4_sat_rtzDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z25_cl_convert_long4_sat_rtzDv4_s(<4 x i16> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z25_cl_convert_long8_sat_rtzDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z21convert_long8_sat_rtzDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z25_cl_convert_long8_sat_rtzDv8_s(<8 x i16> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z26_cl_convert_long16_sat_rtzDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z22convert_long16_sat_rtzDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z26_cl_convert_long16_sat_rtzDv16_s(<16 x i16> %a)
  ret <16 x i64> %call
}


declare i64 @_Z16_cl_convert_longt(i16) local_unnamed_addr #0

define spir_func i64 @_Z12convert_longt(i16 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z16_cl_convert_longt(i16 %a)
  ret i64 %call
}


declare <2 x i64> @_Z17_cl_convert_long2Dv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z13convert_long2Dv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z17_cl_convert_long2Dv2_t(<2 x i16> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z17_cl_convert_long3Dv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z13convert_long3Dv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z17_cl_convert_long3Dv3_t(<3 x i16> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z17_cl_convert_long4Dv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z13convert_long4Dv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z17_cl_convert_long4Dv4_t(<4 x i16> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z17_cl_convert_long8Dv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z13convert_long8Dv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z17_cl_convert_long8Dv8_t(<8 x i16> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z18_cl_convert_long16Dv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z14convert_long16Dv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z18_cl_convert_long16Dv16_t(<16 x i16> %a)
  ret <16 x i64> %call
}


declare i64 @_Z20_cl_convert_long_rtpt(i16) local_unnamed_addr #0

define spir_func i64 @_Z16convert_long_rtpt(i16 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z20_cl_convert_long_rtpt(i16 %a)
  ret i64 %call
}


declare <2 x i64> @_Z21_cl_convert_long2_rtpDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z17convert_long2_rtpDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z21_cl_convert_long2_rtpDv2_t(<2 x i16> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z21_cl_convert_long3_rtpDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z17convert_long3_rtpDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z21_cl_convert_long3_rtpDv3_t(<3 x i16> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z21_cl_convert_long4_rtpDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z17convert_long4_rtpDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z21_cl_convert_long4_rtpDv4_t(<4 x i16> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z21_cl_convert_long8_rtpDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z17convert_long8_rtpDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z21_cl_convert_long8_rtpDv8_t(<8 x i16> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z22_cl_convert_long16_rtpDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z18convert_long16_rtpDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z22_cl_convert_long16_rtpDv16_t(<16 x i16> %a)
  ret <16 x i64> %call
}


declare i64 @_Z20_cl_convert_long_rtnt(i16) local_unnamed_addr #0

define spir_func i64 @_Z16convert_long_rtnt(i16 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z20_cl_convert_long_rtnt(i16 %a)
  ret i64 %call
}


declare <2 x i64> @_Z21_cl_convert_long2_rtnDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z17convert_long2_rtnDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z21_cl_convert_long2_rtnDv2_t(<2 x i16> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z21_cl_convert_long3_rtnDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z17convert_long3_rtnDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z21_cl_convert_long3_rtnDv3_t(<3 x i16> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z21_cl_convert_long4_rtnDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z17convert_long4_rtnDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z21_cl_convert_long4_rtnDv4_t(<4 x i16> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z21_cl_convert_long8_rtnDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z17convert_long8_rtnDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z21_cl_convert_long8_rtnDv8_t(<8 x i16> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z22_cl_convert_long16_rtnDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z18convert_long16_rtnDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z22_cl_convert_long16_rtnDv16_t(<16 x i16> %a)
  ret <16 x i64> %call
}


declare i64 @_Z20_cl_convert_long_rtet(i16) local_unnamed_addr #0

define spir_func i64 @_Z16convert_long_rtet(i16 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z20_cl_convert_long_rtet(i16 %a)
  ret i64 %call
}


declare <2 x i64> @_Z21_cl_convert_long2_rteDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z17convert_long2_rteDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z21_cl_convert_long2_rteDv2_t(<2 x i16> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z21_cl_convert_long3_rteDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z17convert_long3_rteDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z21_cl_convert_long3_rteDv3_t(<3 x i16> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z21_cl_convert_long4_rteDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z17convert_long4_rteDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z21_cl_convert_long4_rteDv4_t(<4 x i16> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z21_cl_convert_long8_rteDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z17convert_long8_rteDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z21_cl_convert_long8_rteDv8_t(<8 x i16> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z22_cl_convert_long16_rteDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z18convert_long16_rteDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z22_cl_convert_long16_rteDv16_t(<16 x i16> %a)
  ret <16 x i64> %call
}


declare i64 @_Z20_cl_convert_long_rtzt(i16) local_unnamed_addr #0

define spir_func i64 @_Z16convert_long_rtzt(i16 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z20_cl_convert_long_rtzt(i16 %a)
  ret i64 %call
}


declare <2 x i64> @_Z21_cl_convert_long2_rtzDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z17convert_long2_rtzDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z21_cl_convert_long2_rtzDv2_t(<2 x i16> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z21_cl_convert_long3_rtzDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z17convert_long3_rtzDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z21_cl_convert_long3_rtzDv3_t(<3 x i16> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z21_cl_convert_long4_rtzDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z17convert_long4_rtzDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z21_cl_convert_long4_rtzDv4_t(<4 x i16> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z21_cl_convert_long8_rtzDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z17convert_long8_rtzDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z21_cl_convert_long8_rtzDv8_t(<8 x i16> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z22_cl_convert_long16_rtzDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z18convert_long16_rtzDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z22_cl_convert_long16_rtzDv16_t(<16 x i16> %a)
  ret <16 x i64> %call
}


declare i64 @_Z20_cl_convert_long_satt(i16) local_unnamed_addr #0

define spir_func i64 @_Z16convert_long_satt(i16 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z20_cl_convert_long_satt(i16 %a)
  ret i64 %call
}


declare <2 x i64> @_Z21_cl_convert_long2_satDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z17convert_long2_satDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z21_cl_convert_long2_satDv2_t(<2 x i16> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z21_cl_convert_long3_satDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z17convert_long3_satDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z21_cl_convert_long3_satDv3_t(<3 x i16> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z21_cl_convert_long4_satDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z17convert_long4_satDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z21_cl_convert_long4_satDv4_t(<4 x i16> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z21_cl_convert_long8_satDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z17convert_long8_satDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z21_cl_convert_long8_satDv8_t(<8 x i16> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z22_cl_convert_long16_satDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z18convert_long16_satDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z22_cl_convert_long16_satDv16_t(<16 x i16> %a)
  ret <16 x i64> %call
}


declare i64 @_Z24_cl_convert_long_sat_rtpt(i16) local_unnamed_addr #0

define spir_func i64 @_Z20convert_long_sat_rtpt(i16 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z24_cl_convert_long_sat_rtpt(i16 %a)
  ret i64 %call
}


declare <2 x i64> @_Z25_cl_convert_long2_sat_rtpDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z21convert_long2_sat_rtpDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z25_cl_convert_long2_sat_rtpDv2_t(<2 x i16> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z25_cl_convert_long3_sat_rtpDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z21convert_long3_sat_rtpDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z25_cl_convert_long3_sat_rtpDv3_t(<3 x i16> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z25_cl_convert_long4_sat_rtpDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z21convert_long4_sat_rtpDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z25_cl_convert_long4_sat_rtpDv4_t(<4 x i16> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z25_cl_convert_long8_sat_rtpDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z21convert_long8_sat_rtpDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z25_cl_convert_long8_sat_rtpDv8_t(<8 x i16> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z26_cl_convert_long16_sat_rtpDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z22convert_long16_sat_rtpDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z26_cl_convert_long16_sat_rtpDv16_t(<16 x i16> %a)
  ret <16 x i64> %call
}


declare i64 @_Z24_cl_convert_long_sat_rtnt(i16) local_unnamed_addr #0

define spir_func i64 @_Z20convert_long_sat_rtnt(i16 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z24_cl_convert_long_sat_rtnt(i16 %a)
  ret i64 %call
}


declare <2 x i64> @_Z25_cl_convert_long2_sat_rtnDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z21convert_long2_sat_rtnDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z25_cl_convert_long2_sat_rtnDv2_t(<2 x i16> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z25_cl_convert_long3_sat_rtnDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z21convert_long3_sat_rtnDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z25_cl_convert_long3_sat_rtnDv3_t(<3 x i16> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z25_cl_convert_long4_sat_rtnDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z21convert_long4_sat_rtnDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z25_cl_convert_long4_sat_rtnDv4_t(<4 x i16> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z25_cl_convert_long8_sat_rtnDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z21convert_long8_sat_rtnDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z25_cl_convert_long8_sat_rtnDv8_t(<8 x i16> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z26_cl_convert_long16_sat_rtnDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z22convert_long16_sat_rtnDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z26_cl_convert_long16_sat_rtnDv16_t(<16 x i16> %a)
  ret <16 x i64> %call
}


declare i64 @_Z24_cl_convert_long_sat_rtet(i16) local_unnamed_addr #0

define spir_func i64 @_Z20convert_long_sat_rtet(i16 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z24_cl_convert_long_sat_rtet(i16 %a)
  ret i64 %call
}


declare <2 x i64> @_Z25_cl_convert_long2_sat_rteDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z21convert_long2_sat_rteDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z25_cl_convert_long2_sat_rteDv2_t(<2 x i16> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z25_cl_convert_long3_sat_rteDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z21convert_long3_sat_rteDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z25_cl_convert_long3_sat_rteDv3_t(<3 x i16> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z25_cl_convert_long4_sat_rteDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z21convert_long4_sat_rteDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z25_cl_convert_long4_sat_rteDv4_t(<4 x i16> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z25_cl_convert_long8_sat_rteDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z21convert_long8_sat_rteDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z25_cl_convert_long8_sat_rteDv8_t(<8 x i16> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z26_cl_convert_long16_sat_rteDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z22convert_long16_sat_rteDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z26_cl_convert_long16_sat_rteDv16_t(<16 x i16> %a)
  ret <16 x i64> %call
}


declare i64 @_Z24_cl_convert_long_sat_rtzt(i16) local_unnamed_addr #0

define spir_func i64 @_Z20convert_long_sat_rtzt(i16 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z24_cl_convert_long_sat_rtzt(i16 %a)
  ret i64 %call
}


declare <2 x i64> @_Z25_cl_convert_long2_sat_rtzDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z21convert_long2_sat_rtzDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z25_cl_convert_long2_sat_rtzDv2_t(<2 x i16> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z25_cl_convert_long3_sat_rtzDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z21convert_long3_sat_rtzDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z25_cl_convert_long3_sat_rtzDv3_t(<3 x i16> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z25_cl_convert_long4_sat_rtzDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z21convert_long4_sat_rtzDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z25_cl_convert_long4_sat_rtzDv4_t(<4 x i16> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z25_cl_convert_long8_sat_rtzDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z21convert_long8_sat_rtzDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z25_cl_convert_long8_sat_rtzDv8_t(<8 x i16> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z26_cl_convert_long16_sat_rtzDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z22convert_long16_sat_rtzDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z26_cl_convert_long16_sat_rtzDv16_t(<16 x i16> %a)
  ret <16 x i64> %call
}


declare i64 @_Z16_cl_convert_longi(i32) local_unnamed_addr #0

define spir_func i64 @_Z12convert_longi(i32 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z16_cl_convert_longi(i32 %a)
  ret i64 %call
}


declare <2 x i64> @_Z17_cl_convert_long2Dv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z13convert_long2Dv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z17_cl_convert_long2Dv2_i(<2 x i32> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z17_cl_convert_long3Dv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z13convert_long3Dv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z17_cl_convert_long3Dv3_i(<3 x i32> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z17_cl_convert_long4Dv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z13convert_long4Dv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z17_cl_convert_long4Dv4_i(<4 x i32> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z17_cl_convert_long8Dv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z13convert_long8Dv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z17_cl_convert_long8Dv8_i(<8 x i32> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z18_cl_convert_long16Dv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z14convert_long16Dv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z18_cl_convert_long16Dv16_i(<16 x i32> %a)
  ret <16 x i64> %call
}


declare i64 @_Z20_cl_convert_long_rtpi(i32) local_unnamed_addr #0

define spir_func i64 @_Z16convert_long_rtpi(i32 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z20_cl_convert_long_rtpi(i32 %a)
  ret i64 %call
}


declare <2 x i64> @_Z21_cl_convert_long2_rtpDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z17convert_long2_rtpDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z21_cl_convert_long2_rtpDv2_i(<2 x i32> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z21_cl_convert_long3_rtpDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z17convert_long3_rtpDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z21_cl_convert_long3_rtpDv3_i(<3 x i32> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z21_cl_convert_long4_rtpDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z17convert_long4_rtpDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z21_cl_convert_long4_rtpDv4_i(<4 x i32> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z21_cl_convert_long8_rtpDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z17convert_long8_rtpDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z21_cl_convert_long8_rtpDv8_i(<8 x i32> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z22_cl_convert_long16_rtpDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z18convert_long16_rtpDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z22_cl_convert_long16_rtpDv16_i(<16 x i32> %a)
  ret <16 x i64> %call
}


declare i64 @_Z20_cl_convert_long_rtni(i32) local_unnamed_addr #0

define spir_func i64 @_Z16convert_long_rtni(i32 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z20_cl_convert_long_rtni(i32 %a)
  ret i64 %call
}


declare <2 x i64> @_Z21_cl_convert_long2_rtnDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z17convert_long2_rtnDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z21_cl_convert_long2_rtnDv2_i(<2 x i32> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z21_cl_convert_long3_rtnDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z17convert_long3_rtnDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z21_cl_convert_long3_rtnDv3_i(<3 x i32> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z21_cl_convert_long4_rtnDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z17convert_long4_rtnDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z21_cl_convert_long4_rtnDv4_i(<4 x i32> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z21_cl_convert_long8_rtnDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z17convert_long8_rtnDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z21_cl_convert_long8_rtnDv8_i(<8 x i32> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z22_cl_convert_long16_rtnDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z18convert_long16_rtnDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z22_cl_convert_long16_rtnDv16_i(<16 x i32> %a)
  ret <16 x i64> %call
}


declare i64 @_Z20_cl_convert_long_rtei(i32) local_unnamed_addr #0

define spir_func i64 @_Z16convert_long_rtei(i32 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z20_cl_convert_long_rtei(i32 %a)
  ret i64 %call
}


declare <2 x i64> @_Z21_cl_convert_long2_rteDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z17convert_long2_rteDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z21_cl_convert_long2_rteDv2_i(<2 x i32> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z21_cl_convert_long3_rteDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z17convert_long3_rteDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z21_cl_convert_long3_rteDv3_i(<3 x i32> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z21_cl_convert_long4_rteDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z17convert_long4_rteDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z21_cl_convert_long4_rteDv4_i(<4 x i32> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z21_cl_convert_long8_rteDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z17convert_long8_rteDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z21_cl_convert_long8_rteDv8_i(<8 x i32> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z22_cl_convert_long16_rteDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z18convert_long16_rteDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z22_cl_convert_long16_rteDv16_i(<16 x i32> %a)
  ret <16 x i64> %call
}


declare i64 @_Z20_cl_convert_long_rtzi(i32) local_unnamed_addr #0

define spir_func i64 @_Z16convert_long_rtzi(i32 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z20_cl_convert_long_rtzi(i32 %a)
  ret i64 %call
}


declare <2 x i64> @_Z21_cl_convert_long2_rtzDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z17convert_long2_rtzDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z21_cl_convert_long2_rtzDv2_i(<2 x i32> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z21_cl_convert_long3_rtzDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z17convert_long3_rtzDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z21_cl_convert_long3_rtzDv3_i(<3 x i32> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z21_cl_convert_long4_rtzDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z17convert_long4_rtzDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z21_cl_convert_long4_rtzDv4_i(<4 x i32> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z21_cl_convert_long8_rtzDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z17convert_long8_rtzDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z21_cl_convert_long8_rtzDv8_i(<8 x i32> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z22_cl_convert_long16_rtzDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z18convert_long16_rtzDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z22_cl_convert_long16_rtzDv16_i(<16 x i32> %a)
  ret <16 x i64> %call
}


declare i64 @_Z20_cl_convert_long_sati(i32) local_unnamed_addr #0

define spir_func i64 @_Z16convert_long_sati(i32 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z20_cl_convert_long_sati(i32 %a)
  ret i64 %call
}


declare <2 x i64> @_Z21_cl_convert_long2_satDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z17convert_long2_satDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z21_cl_convert_long2_satDv2_i(<2 x i32> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z21_cl_convert_long3_satDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z17convert_long3_satDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z21_cl_convert_long3_satDv3_i(<3 x i32> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z21_cl_convert_long4_satDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z17convert_long4_satDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z21_cl_convert_long4_satDv4_i(<4 x i32> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z21_cl_convert_long8_satDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z17convert_long8_satDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z21_cl_convert_long8_satDv8_i(<8 x i32> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z22_cl_convert_long16_satDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z18convert_long16_satDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z22_cl_convert_long16_satDv16_i(<16 x i32> %a)
  ret <16 x i64> %call
}


declare i64 @_Z24_cl_convert_long_sat_rtpi(i32) local_unnamed_addr #0

define spir_func i64 @_Z20convert_long_sat_rtpi(i32 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z24_cl_convert_long_sat_rtpi(i32 %a)
  ret i64 %call
}


declare <2 x i64> @_Z25_cl_convert_long2_sat_rtpDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z21convert_long2_sat_rtpDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z25_cl_convert_long2_sat_rtpDv2_i(<2 x i32> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z25_cl_convert_long3_sat_rtpDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z21convert_long3_sat_rtpDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z25_cl_convert_long3_sat_rtpDv3_i(<3 x i32> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z25_cl_convert_long4_sat_rtpDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z21convert_long4_sat_rtpDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z25_cl_convert_long4_sat_rtpDv4_i(<4 x i32> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z25_cl_convert_long8_sat_rtpDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z21convert_long8_sat_rtpDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z25_cl_convert_long8_sat_rtpDv8_i(<8 x i32> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z26_cl_convert_long16_sat_rtpDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z22convert_long16_sat_rtpDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z26_cl_convert_long16_sat_rtpDv16_i(<16 x i32> %a)
  ret <16 x i64> %call
}


declare i64 @_Z24_cl_convert_long_sat_rtni(i32) local_unnamed_addr #0

define spir_func i64 @_Z20convert_long_sat_rtni(i32 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z24_cl_convert_long_sat_rtni(i32 %a)
  ret i64 %call
}


declare <2 x i64> @_Z25_cl_convert_long2_sat_rtnDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z21convert_long2_sat_rtnDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z25_cl_convert_long2_sat_rtnDv2_i(<2 x i32> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z25_cl_convert_long3_sat_rtnDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z21convert_long3_sat_rtnDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z25_cl_convert_long3_sat_rtnDv3_i(<3 x i32> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z25_cl_convert_long4_sat_rtnDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z21convert_long4_sat_rtnDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z25_cl_convert_long4_sat_rtnDv4_i(<4 x i32> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z25_cl_convert_long8_sat_rtnDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z21convert_long8_sat_rtnDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z25_cl_convert_long8_sat_rtnDv8_i(<8 x i32> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z26_cl_convert_long16_sat_rtnDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z22convert_long16_sat_rtnDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z26_cl_convert_long16_sat_rtnDv16_i(<16 x i32> %a)
  ret <16 x i64> %call
}


declare i64 @_Z24_cl_convert_long_sat_rtei(i32) local_unnamed_addr #0

define spir_func i64 @_Z20convert_long_sat_rtei(i32 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z24_cl_convert_long_sat_rtei(i32 %a)
  ret i64 %call
}


declare <2 x i64> @_Z25_cl_convert_long2_sat_rteDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z21convert_long2_sat_rteDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z25_cl_convert_long2_sat_rteDv2_i(<2 x i32> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z25_cl_convert_long3_sat_rteDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z21convert_long3_sat_rteDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z25_cl_convert_long3_sat_rteDv3_i(<3 x i32> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z25_cl_convert_long4_sat_rteDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z21convert_long4_sat_rteDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z25_cl_convert_long4_sat_rteDv4_i(<4 x i32> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z25_cl_convert_long8_sat_rteDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z21convert_long8_sat_rteDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z25_cl_convert_long8_sat_rteDv8_i(<8 x i32> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z26_cl_convert_long16_sat_rteDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z22convert_long16_sat_rteDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z26_cl_convert_long16_sat_rteDv16_i(<16 x i32> %a)
  ret <16 x i64> %call
}


declare i64 @_Z24_cl_convert_long_sat_rtzi(i32) local_unnamed_addr #0

define spir_func i64 @_Z20convert_long_sat_rtzi(i32 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z24_cl_convert_long_sat_rtzi(i32 %a)
  ret i64 %call
}


declare <2 x i64> @_Z25_cl_convert_long2_sat_rtzDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z21convert_long2_sat_rtzDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z25_cl_convert_long2_sat_rtzDv2_i(<2 x i32> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z25_cl_convert_long3_sat_rtzDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z21convert_long3_sat_rtzDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z25_cl_convert_long3_sat_rtzDv3_i(<3 x i32> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z25_cl_convert_long4_sat_rtzDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z21convert_long4_sat_rtzDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z25_cl_convert_long4_sat_rtzDv4_i(<4 x i32> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z25_cl_convert_long8_sat_rtzDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z21convert_long8_sat_rtzDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z25_cl_convert_long8_sat_rtzDv8_i(<8 x i32> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z26_cl_convert_long16_sat_rtzDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z22convert_long16_sat_rtzDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z26_cl_convert_long16_sat_rtzDv16_i(<16 x i32> %a)
  ret <16 x i64> %call
}


declare i64 @_Z16_cl_convert_longj(i32) local_unnamed_addr #0

define spir_func i64 @_Z12convert_longj(i32 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z16_cl_convert_longj(i32 %a)
  ret i64 %call
}


declare <2 x i64> @_Z17_cl_convert_long2Dv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z13convert_long2Dv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z17_cl_convert_long2Dv2_j(<2 x i32> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z17_cl_convert_long3Dv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z13convert_long3Dv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z17_cl_convert_long3Dv3_j(<3 x i32> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z17_cl_convert_long4Dv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z13convert_long4Dv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z17_cl_convert_long4Dv4_j(<4 x i32> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z17_cl_convert_long8Dv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z13convert_long8Dv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z17_cl_convert_long8Dv8_j(<8 x i32> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z18_cl_convert_long16Dv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z14convert_long16Dv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z18_cl_convert_long16Dv16_j(<16 x i32> %a)
  ret <16 x i64> %call
}


declare i64 @_Z20_cl_convert_long_rtpj(i32) local_unnamed_addr #0

define spir_func i64 @_Z16convert_long_rtpj(i32 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z20_cl_convert_long_rtpj(i32 %a)
  ret i64 %call
}


declare <2 x i64> @_Z21_cl_convert_long2_rtpDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z17convert_long2_rtpDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z21_cl_convert_long2_rtpDv2_j(<2 x i32> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z21_cl_convert_long3_rtpDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z17convert_long3_rtpDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z21_cl_convert_long3_rtpDv3_j(<3 x i32> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z21_cl_convert_long4_rtpDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z17convert_long4_rtpDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z21_cl_convert_long4_rtpDv4_j(<4 x i32> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z21_cl_convert_long8_rtpDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z17convert_long8_rtpDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z21_cl_convert_long8_rtpDv8_j(<8 x i32> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z22_cl_convert_long16_rtpDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z18convert_long16_rtpDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z22_cl_convert_long16_rtpDv16_j(<16 x i32> %a)
  ret <16 x i64> %call
}


declare i64 @_Z20_cl_convert_long_rtnj(i32) local_unnamed_addr #0

define spir_func i64 @_Z16convert_long_rtnj(i32 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z20_cl_convert_long_rtnj(i32 %a)
  ret i64 %call
}


declare <2 x i64> @_Z21_cl_convert_long2_rtnDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z17convert_long2_rtnDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z21_cl_convert_long2_rtnDv2_j(<2 x i32> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z21_cl_convert_long3_rtnDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z17convert_long3_rtnDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z21_cl_convert_long3_rtnDv3_j(<3 x i32> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z21_cl_convert_long4_rtnDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z17convert_long4_rtnDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z21_cl_convert_long4_rtnDv4_j(<4 x i32> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z21_cl_convert_long8_rtnDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z17convert_long8_rtnDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z21_cl_convert_long8_rtnDv8_j(<8 x i32> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z22_cl_convert_long16_rtnDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z18convert_long16_rtnDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z22_cl_convert_long16_rtnDv16_j(<16 x i32> %a)
  ret <16 x i64> %call
}


declare i64 @_Z20_cl_convert_long_rtej(i32) local_unnamed_addr #0

define spir_func i64 @_Z16convert_long_rtej(i32 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z20_cl_convert_long_rtej(i32 %a)
  ret i64 %call
}


declare <2 x i64> @_Z21_cl_convert_long2_rteDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z17convert_long2_rteDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z21_cl_convert_long2_rteDv2_j(<2 x i32> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z21_cl_convert_long3_rteDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z17convert_long3_rteDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z21_cl_convert_long3_rteDv3_j(<3 x i32> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z21_cl_convert_long4_rteDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z17convert_long4_rteDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z21_cl_convert_long4_rteDv4_j(<4 x i32> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z21_cl_convert_long8_rteDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z17convert_long8_rteDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z21_cl_convert_long8_rteDv8_j(<8 x i32> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z22_cl_convert_long16_rteDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z18convert_long16_rteDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z22_cl_convert_long16_rteDv16_j(<16 x i32> %a)
  ret <16 x i64> %call
}


declare i64 @_Z20_cl_convert_long_rtzj(i32) local_unnamed_addr #0

define spir_func i64 @_Z16convert_long_rtzj(i32 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z20_cl_convert_long_rtzj(i32 %a)
  ret i64 %call
}


declare <2 x i64> @_Z21_cl_convert_long2_rtzDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z17convert_long2_rtzDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z21_cl_convert_long2_rtzDv2_j(<2 x i32> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z21_cl_convert_long3_rtzDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z17convert_long3_rtzDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z21_cl_convert_long3_rtzDv3_j(<3 x i32> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z21_cl_convert_long4_rtzDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z17convert_long4_rtzDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z21_cl_convert_long4_rtzDv4_j(<4 x i32> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z21_cl_convert_long8_rtzDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z17convert_long8_rtzDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z21_cl_convert_long8_rtzDv8_j(<8 x i32> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z22_cl_convert_long16_rtzDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z18convert_long16_rtzDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z22_cl_convert_long16_rtzDv16_j(<16 x i32> %a)
  ret <16 x i64> %call
}


declare i64 @_Z20_cl_convert_long_satj(i32) local_unnamed_addr #0

define spir_func i64 @_Z16convert_long_satj(i32 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z20_cl_convert_long_satj(i32 %a)
  ret i64 %call
}


declare <2 x i64> @_Z21_cl_convert_long2_satDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z17convert_long2_satDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z21_cl_convert_long2_satDv2_j(<2 x i32> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z21_cl_convert_long3_satDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z17convert_long3_satDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z21_cl_convert_long3_satDv3_j(<3 x i32> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z21_cl_convert_long4_satDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z17convert_long4_satDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z21_cl_convert_long4_satDv4_j(<4 x i32> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z21_cl_convert_long8_satDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z17convert_long8_satDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z21_cl_convert_long8_satDv8_j(<8 x i32> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z22_cl_convert_long16_satDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z18convert_long16_satDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z22_cl_convert_long16_satDv16_j(<16 x i32> %a)
  ret <16 x i64> %call
}


declare i64 @_Z24_cl_convert_long_sat_rtpj(i32) local_unnamed_addr #0

define spir_func i64 @_Z20convert_long_sat_rtpj(i32 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z24_cl_convert_long_sat_rtpj(i32 %a)
  ret i64 %call
}


declare <2 x i64> @_Z25_cl_convert_long2_sat_rtpDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z21convert_long2_sat_rtpDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z25_cl_convert_long2_sat_rtpDv2_j(<2 x i32> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z25_cl_convert_long3_sat_rtpDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z21convert_long3_sat_rtpDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z25_cl_convert_long3_sat_rtpDv3_j(<3 x i32> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z25_cl_convert_long4_sat_rtpDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z21convert_long4_sat_rtpDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z25_cl_convert_long4_sat_rtpDv4_j(<4 x i32> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z25_cl_convert_long8_sat_rtpDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z21convert_long8_sat_rtpDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z25_cl_convert_long8_sat_rtpDv8_j(<8 x i32> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z26_cl_convert_long16_sat_rtpDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z22convert_long16_sat_rtpDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z26_cl_convert_long16_sat_rtpDv16_j(<16 x i32> %a)
  ret <16 x i64> %call
}


declare i64 @_Z24_cl_convert_long_sat_rtnj(i32) local_unnamed_addr #0

define spir_func i64 @_Z20convert_long_sat_rtnj(i32 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z24_cl_convert_long_sat_rtnj(i32 %a)
  ret i64 %call
}


declare <2 x i64> @_Z25_cl_convert_long2_sat_rtnDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z21convert_long2_sat_rtnDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z25_cl_convert_long2_sat_rtnDv2_j(<2 x i32> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z25_cl_convert_long3_sat_rtnDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z21convert_long3_sat_rtnDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z25_cl_convert_long3_sat_rtnDv3_j(<3 x i32> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z25_cl_convert_long4_sat_rtnDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z21convert_long4_sat_rtnDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z25_cl_convert_long4_sat_rtnDv4_j(<4 x i32> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z25_cl_convert_long8_sat_rtnDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z21convert_long8_sat_rtnDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z25_cl_convert_long8_sat_rtnDv8_j(<8 x i32> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z26_cl_convert_long16_sat_rtnDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z22convert_long16_sat_rtnDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z26_cl_convert_long16_sat_rtnDv16_j(<16 x i32> %a)
  ret <16 x i64> %call
}


declare i64 @_Z24_cl_convert_long_sat_rtej(i32) local_unnamed_addr #0

define spir_func i64 @_Z20convert_long_sat_rtej(i32 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z24_cl_convert_long_sat_rtej(i32 %a)
  ret i64 %call
}


declare <2 x i64> @_Z25_cl_convert_long2_sat_rteDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z21convert_long2_sat_rteDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z25_cl_convert_long2_sat_rteDv2_j(<2 x i32> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z25_cl_convert_long3_sat_rteDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z21convert_long3_sat_rteDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z25_cl_convert_long3_sat_rteDv3_j(<3 x i32> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z25_cl_convert_long4_sat_rteDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z21convert_long4_sat_rteDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z25_cl_convert_long4_sat_rteDv4_j(<4 x i32> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z25_cl_convert_long8_sat_rteDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z21convert_long8_sat_rteDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z25_cl_convert_long8_sat_rteDv8_j(<8 x i32> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z26_cl_convert_long16_sat_rteDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z22convert_long16_sat_rteDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z26_cl_convert_long16_sat_rteDv16_j(<16 x i32> %a)
  ret <16 x i64> %call
}


declare i64 @_Z24_cl_convert_long_sat_rtzj(i32) local_unnamed_addr #0

define spir_func i64 @_Z20convert_long_sat_rtzj(i32 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z24_cl_convert_long_sat_rtzj(i32 %a)
  ret i64 %call
}


declare <2 x i64> @_Z25_cl_convert_long2_sat_rtzDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z21convert_long2_sat_rtzDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z25_cl_convert_long2_sat_rtzDv2_j(<2 x i32> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z25_cl_convert_long3_sat_rtzDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z21convert_long3_sat_rtzDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z25_cl_convert_long3_sat_rtzDv3_j(<3 x i32> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z25_cl_convert_long4_sat_rtzDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z21convert_long4_sat_rtzDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z25_cl_convert_long4_sat_rtzDv4_j(<4 x i32> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z25_cl_convert_long8_sat_rtzDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z21convert_long8_sat_rtzDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z25_cl_convert_long8_sat_rtzDv8_j(<8 x i32> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z26_cl_convert_long16_sat_rtzDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z22convert_long16_sat_rtzDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z26_cl_convert_long16_sat_rtzDv16_j(<16 x i32> %a)
  ret <16 x i64> %call
}


declare i64 @_Z16_cl_convert_longl(i64) local_unnamed_addr #0

define spir_func i64 @_Z12convert_longl(i64 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z16_cl_convert_longl(i64 %a)
  ret i64 %call
}


declare <2 x i64> @_Z17_cl_convert_long2Dv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z13convert_long2Dv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z17_cl_convert_long2Dv2_l(<2 x i64> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z17_cl_convert_long3Dv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z13convert_long3Dv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z17_cl_convert_long3Dv3_l(<3 x i64> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z17_cl_convert_long4Dv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z13convert_long4Dv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z17_cl_convert_long4Dv4_l(<4 x i64> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z17_cl_convert_long8Dv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z13convert_long8Dv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z17_cl_convert_long8Dv8_l(<8 x i64> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z18_cl_convert_long16Dv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z14convert_long16Dv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z18_cl_convert_long16Dv16_l(<16 x i64> %a)
  ret <16 x i64> %call
}


declare i64 @_Z20_cl_convert_long_rtpl(i64) local_unnamed_addr #0

define spir_func i64 @_Z16convert_long_rtpl(i64 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z20_cl_convert_long_rtpl(i64 %a)
  ret i64 %call
}


declare <2 x i64> @_Z21_cl_convert_long2_rtpDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z17convert_long2_rtpDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z21_cl_convert_long2_rtpDv2_l(<2 x i64> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z21_cl_convert_long3_rtpDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z17convert_long3_rtpDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z21_cl_convert_long3_rtpDv3_l(<3 x i64> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z21_cl_convert_long4_rtpDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z17convert_long4_rtpDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z21_cl_convert_long4_rtpDv4_l(<4 x i64> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z21_cl_convert_long8_rtpDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z17convert_long8_rtpDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z21_cl_convert_long8_rtpDv8_l(<8 x i64> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z22_cl_convert_long16_rtpDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z18convert_long16_rtpDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z22_cl_convert_long16_rtpDv16_l(<16 x i64> %a)
  ret <16 x i64> %call
}


declare i64 @_Z20_cl_convert_long_rtnl(i64) local_unnamed_addr #0

define spir_func i64 @_Z16convert_long_rtnl(i64 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z20_cl_convert_long_rtnl(i64 %a)
  ret i64 %call
}


declare <2 x i64> @_Z21_cl_convert_long2_rtnDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z17convert_long2_rtnDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z21_cl_convert_long2_rtnDv2_l(<2 x i64> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z21_cl_convert_long3_rtnDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z17convert_long3_rtnDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z21_cl_convert_long3_rtnDv3_l(<3 x i64> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z21_cl_convert_long4_rtnDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z17convert_long4_rtnDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z21_cl_convert_long4_rtnDv4_l(<4 x i64> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z21_cl_convert_long8_rtnDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z17convert_long8_rtnDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z21_cl_convert_long8_rtnDv8_l(<8 x i64> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z22_cl_convert_long16_rtnDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z18convert_long16_rtnDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z22_cl_convert_long16_rtnDv16_l(<16 x i64> %a)
  ret <16 x i64> %call
}


declare i64 @_Z20_cl_convert_long_rtel(i64) local_unnamed_addr #0

define spir_func i64 @_Z16convert_long_rtel(i64 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z20_cl_convert_long_rtel(i64 %a)
  ret i64 %call
}


declare <2 x i64> @_Z21_cl_convert_long2_rteDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z17convert_long2_rteDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z21_cl_convert_long2_rteDv2_l(<2 x i64> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z21_cl_convert_long3_rteDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z17convert_long3_rteDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z21_cl_convert_long3_rteDv3_l(<3 x i64> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z21_cl_convert_long4_rteDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z17convert_long4_rteDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z21_cl_convert_long4_rteDv4_l(<4 x i64> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z21_cl_convert_long8_rteDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z17convert_long8_rteDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z21_cl_convert_long8_rteDv8_l(<8 x i64> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z22_cl_convert_long16_rteDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z18convert_long16_rteDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z22_cl_convert_long16_rteDv16_l(<16 x i64> %a)
  ret <16 x i64> %call
}


declare i64 @_Z20_cl_convert_long_rtzl(i64) local_unnamed_addr #0

define spir_func i64 @_Z16convert_long_rtzl(i64 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z20_cl_convert_long_rtzl(i64 %a)
  ret i64 %call
}


declare <2 x i64> @_Z21_cl_convert_long2_rtzDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z17convert_long2_rtzDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z21_cl_convert_long2_rtzDv2_l(<2 x i64> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z21_cl_convert_long3_rtzDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z17convert_long3_rtzDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z21_cl_convert_long3_rtzDv3_l(<3 x i64> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z21_cl_convert_long4_rtzDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z17convert_long4_rtzDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z21_cl_convert_long4_rtzDv4_l(<4 x i64> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z21_cl_convert_long8_rtzDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z17convert_long8_rtzDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z21_cl_convert_long8_rtzDv8_l(<8 x i64> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z22_cl_convert_long16_rtzDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z18convert_long16_rtzDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z22_cl_convert_long16_rtzDv16_l(<16 x i64> %a)
  ret <16 x i64> %call
}


declare i64 @_Z20_cl_convert_long_satl(i64) local_unnamed_addr #0

define spir_func i64 @_Z16convert_long_satl(i64 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z20_cl_convert_long_satl(i64 %a)
  ret i64 %call
}


declare <2 x i64> @_Z21_cl_convert_long2_satDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z17convert_long2_satDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z21_cl_convert_long2_satDv2_l(<2 x i64> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z21_cl_convert_long3_satDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z17convert_long3_satDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z21_cl_convert_long3_satDv3_l(<3 x i64> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z21_cl_convert_long4_satDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z17convert_long4_satDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z21_cl_convert_long4_satDv4_l(<4 x i64> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z21_cl_convert_long8_satDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z17convert_long8_satDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z21_cl_convert_long8_satDv8_l(<8 x i64> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z22_cl_convert_long16_satDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z18convert_long16_satDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z22_cl_convert_long16_satDv16_l(<16 x i64> %a)
  ret <16 x i64> %call
}


declare i64 @_Z24_cl_convert_long_sat_rtpl(i64) local_unnamed_addr #0

define spir_func i64 @_Z20convert_long_sat_rtpl(i64 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z24_cl_convert_long_sat_rtpl(i64 %a)
  ret i64 %call
}


declare <2 x i64> @_Z25_cl_convert_long2_sat_rtpDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z21convert_long2_sat_rtpDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z25_cl_convert_long2_sat_rtpDv2_l(<2 x i64> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z25_cl_convert_long3_sat_rtpDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z21convert_long3_sat_rtpDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z25_cl_convert_long3_sat_rtpDv3_l(<3 x i64> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z25_cl_convert_long4_sat_rtpDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z21convert_long4_sat_rtpDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z25_cl_convert_long4_sat_rtpDv4_l(<4 x i64> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z25_cl_convert_long8_sat_rtpDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z21convert_long8_sat_rtpDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z25_cl_convert_long8_sat_rtpDv8_l(<8 x i64> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z26_cl_convert_long16_sat_rtpDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z22convert_long16_sat_rtpDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z26_cl_convert_long16_sat_rtpDv16_l(<16 x i64> %a)
  ret <16 x i64> %call
}


declare i64 @_Z24_cl_convert_long_sat_rtnl(i64) local_unnamed_addr #0

define spir_func i64 @_Z20convert_long_sat_rtnl(i64 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z24_cl_convert_long_sat_rtnl(i64 %a)
  ret i64 %call
}


declare <2 x i64> @_Z25_cl_convert_long2_sat_rtnDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z21convert_long2_sat_rtnDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z25_cl_convert_long2_sat_rtnDv2_l(<2 x i64> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z25_cl_convert_long3_sat_rtnDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z21convert_long3_sat_rtnDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z25_cl_convert_long3_sat_rtnDv3_l(<3 x i64> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z25_cl_convert_long4_sat_rtnDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z21convert_long4_sat_rtnDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z25_cl_convert_long4_sat_rtnDv4_l(<4 x i64> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z25_cl_convert_long8_sat_rtnDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z21convert_long8_sat_rtnDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z25_cl_convert_long8_sat_rtnDv8_l(<8 x i64> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z26_cl_convert_long16_sat_rtnDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z22convert_long16_sat_rtnDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z26_cl_convert_long16_sat_rtnDv16_l(<16 x i64> %a)
  ret <16 x i64> %call
}


declare i64 @_Z24_cl_convert_long_sat_rtel(i64) local_unnamed_addr #0

define spir_func i64 @_Z20convert_long_sat_rtel(i64 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z24_cl_convert_long_sat_rtel(i64 %a)
  ret i64 %call
}


declare <2 x i64> @_Z25_cl_convert_long2_sat_rteDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z21convert_long2_sat_rteDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z25_cl_convert_long2_sat_rteDv2_l(<2 x i64> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z25_cl_convert_long3_sat_rteDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z21convert_long3_sat_rteDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z25_cl_convert_long3_sat_rteDv3_l(<3 x i64> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z25_cl_convert_long4_sat_rteDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z21convert_long4_sat_rteDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z25_cl_convert_long4_sat_rteDv4_l(<4 x i64> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z25_cl_convert_long8_sat_rteDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z21convert_long8_sat_rteDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z25_cl_convert_long8_sat_rteDv8_l(<8 x i64> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z26_cl_convert_long16_sat_rteDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z22convert_long16_sat_rteDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z26_cl_convert_long16_sat_rteDv16_l(<16 x i64> %a)
  ret <16 x i64> %call
}


declare i64 @_Z24_cl_convert_long_sat_rtzl(i64) local_unnamed_addr #0

define spir_func i64 @_Z20convert_long_sat_rtzl(i64 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z24_cl_convert_long_sat_rtzl(i64 %a)
  ret i64 %call
}


declare <2 x i64> @_Z25_cl_convert_long2_sat_rtzDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z21convert_long2_sat_rtzDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z25_cl_convert_long2_sat_rtzDv2_l(<2 x i64> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z25_cl_convert_long3_sat_rtzDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z21convert_long3_sat_rtzDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z25_cl_convert_long3_sat_rtzDv3_l(<3 x i64> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z25_cl_convert_long4_sat_rtzDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z21convert_long4_sat_rtzDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z25_cl_convert_long4_sat_rtzDv4_l(<4 x i64> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z25_cl_convert_long8_sat_rtzDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z21convert_long8_sat_rtzDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z25_cl_convert_long8_sat_rtzDv8_l(<8 x i64> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z26_cl_convert_long16_sat_rtzDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z22convert_long16_sat_rtzDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z26_cl_convert_long16_sat_rtzDv16_l(<16 x i64> %a)
  ret <16 x i64> %call
}


declare i64 @_Z16_cl_convert_longm(i64) local_unnamed_addr #0

define spir_func i64 @_Z12convert_longm(i64 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z16_cl_convert_longm(i64 %a)
  ret i64 %call
}


declare <2 x i64> @_Z17_cl_convert_long2Dv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z13convert_long2Dv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z17_cl_convert_long2Dv2_m(<2 x i64> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z17_cl_convert_long3Dv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z13convert_long3Dv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z17_cl_convert_long3Dv3_m(<3 x i64> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z17_cl_convert_long4Dv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z13convert_long4Dv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z17_cl_convert_long4Dv4_m(<4 x i64> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z17_cl_convert_long8Dv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z13convert_long8Dv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z17_cl_convert_long8Dv8_m(<8 x i64> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z18_cl_convert_long16Dv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z14convert_long16Dv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z18_cl_convert_long16Dv16_m(<16 x i64> %a)
  ret <16 x i64> %call
}


declare i64 @_Z20_cl_convert_long_rtpm(i64) local_unnamed_addr #0

define spir_func i64 @_Z16convert_long_rtpm(i64 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z20_cl_convert_long_rtpm(i64 %a)
  ret i64 %call
}


declare <2 x i64> @_Z21_cl_convert_long2_rtpDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z17convert_long2_rtpDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z21_cl_convert_long2_rtpDv2_m(<2 x i64> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z21_cl_convert_long3_rtpDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z17convert_long3_rtpDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z21_cl_convert_long3_rtpDv3_m(<3 x i64> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z21_cl_convert_long4_rtpDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z17convert_long4_rtpDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z21_cl_convert_long4_rtpDv4_m(<4 x i64> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z21_cl_convert_long8_rtpDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z17convert_long8_rtpDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z21_cl_convert_long8_rtpDv8_m(<8 x i64> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z22_cl_convert_long16_rtpDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z18convert_long16_rtpDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z22_cl_convert_long16_rtpDv16_m(<16 x i64> %a)
  ret <16 x i64> %call
}


declare i64 @_Z20_cl_convert_long_rtnm(i64) local_unnamed_addr #0

define spir_func i64 @_Z16convert_long_rtnm(i64 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z20_cl_convert_long_rtnm(i64 %a)
  ret i64 %call
}


declare <2 x i64> @_Z21_cl_convert_long2_rtnDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z17convert_long2_rtnDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z21_cl_convert_long2_rtnDv2_m(<2 x i64> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z21_cl_convert_long3_rtnDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z17convert_long3_rtnDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z21_cl_convert_long3_rtnDv3_m(<3 x i64> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z21_cl_convert_long4_rtnDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z17convert_long4_rtnDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z21_cl_convert_long4_rtnDv4_m(<4 x i64> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z21_cl_convert_long8_rtnDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z17convert_long8_rtnDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z21_cl_convert_long8_rtnDv8_m(<8 x i64> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z22_cl_convert_long16_rtnDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z18convert_long16_rtnDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z22_cl_convert_long16_rtnDv16_m(<16 x i64> %a)
  ret <16 x i64> %call
}


declare i64 @_Z20_cl_convert_long_rtem(i64) local_unnamed_addr #0

define spir_func i64 @_Z16convert_long_rtem(i64 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z20_cl_convert_long_rtem(i64 %a)
  ret i64 %call
}


declare <2 x i64> @_Z21_cl_convert_long2_rteDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z17convert_long2_rteDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z21_cl_convert_long2_rteDv2_m(<2 x i64> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z21_cl_convert_long3_rteDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z17convert_long3_rteDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z21_cl_convert_long3_rteDv3_m(<3 x i64> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z21_cl_convert_long4_rteDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z17convert_long4_rteDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z21_cl_convert_long4_rteDv4_m(<4 x i64> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z21_cl_convert_long8_rteDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z17convert_long8_rteDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z21_cl_convert_long8_rteDv8_m(<8 x i64> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z22_cl_convert_long16_rteDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z18convert_long16_rteDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z22_cl_convert_long16_rteDv16_m(<16 x i64> %a)
  ret <16 x i64> %call
}


declare i64 @_Z20_cl_convert_long_rtzm(i64) local_unnamed_addr #0

define spir_func i64 @_Z16convert_long_rtzm(i64 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z20_cl_convert_long_rtzm(i64 %a)
  ret i64 %call
}


declare <2 x i64> @_Z21_cl_convert_long2_rtzDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z17convert_long2_rtzDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z21_cl_convert_long2_rtzDv2_m(<2 x i64> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z21_cl_convert_long3_rtzDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z17convert_long3_rtzDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z21_cl_convert_long3_rtzDv3_m(<3 x i64> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z21_cl_convert_long4_rtzDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z17convert_long4_rtzDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z21_cl_convert_long4_rtzDv4_m(<4 x i64> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z21_cl_convert_long8_rtzDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z17convert_long8_rtzDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z21_cl_convert_long8_rtzDv8_m(<8 x i64> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z22_cl_convert_long16_rtzDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z18convert_long16_rtzDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z22_cl_convert_long16_rtzDv16_m(<16 x i64> %a)
  ret <16 x i64> %call
}


declare i64 @_Z20_cl_convert_long_satm(i64) local_unnamed_addr #0

define spir_func i64 @_Z16convert_long_satm(i64 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z20_cl_convert_long_satm(i64 %a)
  ret i64 %call
}


declare <2 x i64> @_Z21_cl_convert_long2_satDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z17convert_long2_satDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z21_cl_convert_long2_satDv2_m(<2 x i64> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z21_cl_convert_long3_satDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z17convert_long3_satDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z21_cl_convert_long3_satDv3_m(<3 x i64> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z21_cl_convert_long4_satDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z17convert_long4_satDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z21_cl_convert_long4_satDv4_m(<4 x i64> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z21_cl_convert_long8_satDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z17convert_long8_satDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z21_cl_convert_long8_satDv8_m(<8 x i64> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z22_cl_convert_long16_satDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z18convert_long16_satDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z22_cl_convert_long16_satDv16_m(<16 x i64> %a)
  ret <16 x i64> %call
}


declare i64 @_Z24_cl_convert_long_sat_rtpm(i64) local_unnamed_addr #0

define spir_func i64 @_Z20convert_long_sat_rtpm(i64 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z24_cl_convert_long_sat_rtpm(i64 %a)
  ret i64 %call
}


declare <2 x i64> @_Z25_cl_convert_long2_sat_rtpDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z21convert_long2_sat_rtpDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z25_cl_convert_long2_sat_rtpDv2_m(<2 x i64> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z25_cl_convert_long3_sat_rtpDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z21convert_long3_sat_rtpDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z25_cl_convert_long3_sat_rtpDv3_m(<3 x i64> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z25_cl_convert_long4_sat_rtpDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z21convert_long4_sat_rtpDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z25_cl_convert_long4_sat_rtpDv4_m(<4 x i64> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z25_cl_convert_long8_sat_rtpDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z21convert_long8_sat_rtpDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z25_cl_convert_long8_sat_rtpDv8_m(<8 x i64> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z26_cl_convert_long16_sat_rtpDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z22convert_long16_sat_rtpDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z26_cl_convert_long16_sat_rtpDv16_m(<16 x i64> %a)
  ret <16 x i64> %call
}


declare i64 @_Z24_cl_convert_long_sat_rtnm(i64) local_unnamed_addr #0

define spir_func i64 @_Z20convert_long_sat_rtnm(i64 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z24_cl_convert_long_sat_rtnm(i64 %a)
  ret i64 %call
}


declare <2 x i64> @_Z25_cl_convert_long2_sat_rtnDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z21convert_long2_sat_rtnDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z25_cl_convert_long2_sat_rtnDv2_m(<2 x i64> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z25_cl_convert_long3_sat_rtnDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z21convert_long3_sat_rtnDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z25_cl_convert_long3_sat_rtnDv3_m(<3 x i64> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z25_cl_convert_long4_sat_rtnDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z21convert_long4_sat_rtnDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z25_cl_convert_long4_sat_rtnDv4_m(<4 x i64> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z25_cl_convert_long8_sat_rtnDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z21convert_long8_sat_rtnDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z25_cl_convert_long8_sat_rtnDv8_m(<8 x i64> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z26_cl_convert_long16_sat_rtnDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z22convert_long16_sat_rtnDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z26_cl_convert_long16_sat_rtnDv16_m(<16 x i64> %a)
  ret <16 x i64> %call
}


declare i64 @_Z24_cl_convert_long_sat_rtem(i64) local_unnamed_addr #0

define spir_func i64 @_Z20convert_long_sat_rtem(i64 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z24_cl_convert_long_sat_rtem(i64 %a)
  ret i64 %call
}


declare <2 x i64> @_Z25_cl_convert_long2_sat_rteDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z21convert_long2_sat_rteDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z25_cl_convert_long2_sat_rteDv2_m(<2 x i64> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z25_cl_convert_long3_sat_rteDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z21convert_long3_sat_rteDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z25_cl_convert_long3_sat_rteDv3_m(<3 x i64> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z25_cl_convert_long4_sat_rteDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z21convert_long4_sat_rteDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z25_cl_convert_long4_sat_rteDv4_m(<4 x i64> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z25_cl_convert_long8_sat_rteDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z21convert_long8_sat_rteDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z25_cl_convert_long8_sat_rteDv8_m(<8 x i64> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z26_cl_convert_long16_sat_rteDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z22convert_long16_sat_rteDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z26_cl_convert_long16_sat_rteDv16_m(<16 x i64> %a)
  ret <16 x i64> %call
}


declare i64 @_Z24_cl_convert_long_sat_rtzm(i64) local_unnamed_addr #0

define spir_func i64 @_Z20convert_long_sat_rtzm(i64 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z24_cl_convert_long_sat_rtzm(i64 %a)
  ret i64 %call
}


declare <2 x i64> @_Z25_cl_convert_long2_sat_rtzDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z21convert_long2_sat_rtzDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z25_cl_convert_long2_sat_rtzDv2_m(<2 x i64> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z25_cl_convert_long3_sat_rtzDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z21convert_long3_sat_rtzDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z25_cl_convert_long3_sat_rtzDv3_m(<3 x i64> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z25_cl_convert_long4_sat_rtzDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z21convert_long4_sat_rtzDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z25_cl_convert_long4_sat_rtzDv4_m(<4 x i64> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z25_cl_convert_long8_sat_rtzDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z21convert_long8_sat_rtzDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z25_cl_convert_long8_sat_rtzDv8_m(<8 x i64> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z26_cl_convert_long16_sat_rtzDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z22convert_long16_sat_rtzDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z26_cl_convert_long16_sat_rtzDv16_m(<16 x i64> %a)
  ret <16 x i64> %call
}


declare i64 @_Z16_cl_convert_longf(float) local_unnamed_addr #0

define spir_func i64 @_Z12convert_longf(float %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z16_cl_convert_longf(float %a)
  ret i64 %call
}


declare <2 x i64> @_Z17_cl_convert_long2Dv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z13convert_long2Dv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z17_cl_convert_long2Dv2_f(<2 x float> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z17_cl_convert_long3Dv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z13convert_long3Dv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z17_cl_convert_long3Dv3_f(<3 x float> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z17_cl_convert_long4Dv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z13convert_long4Dv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z17_cl_convert_long4Dv4_f(<4 x float> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z17_cl_convert_long8Dv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z13convert_long8Dv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z17_cl_convert_long8Dv8_f(<8 x float> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z18_cl_convert_long16Dv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z14convert_long16Dv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z18_cl_convert_long16Dv16_f(<16 x float> %a)
  ret <16 x i64> %call
}


declare i64 @_Z20_cl_convert_long_rtpf(float) local_unnamed_addr #0

define spir_func i64 @_Z16convert_long_rtpf(float %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z20_cl_convert_long_rtpf(float %a)
  ret i64 %call
}


declare <2 x i64> @_Z21_cl_convert_long2_rtpDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z17convert_long2_rtpDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z21_cl_convert_long2_rtpDv2_f(<2 x float> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z21_cl_convert_long3_rtpDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z17convert_long3_rtpDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z21_cl_convert_long3_rtpDv3_f(<3 x float> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z21_cl_convert_long4_rtpDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z17convert_long4_rtpDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z21_cl_convert_long4_rtpDv4_f(<4 x float> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z21_cl_convert_long8_rtpDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z17convert_long8_rtpDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z21_cl_convert_long8_rtpDv8_f(<8 x float> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z22_cl_convert_long16_rtpDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z18convert_long16_rtpDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z22_cl_convert_long16_rtpDv16_f(<16 x float> %a)
  ret <16 x i64> %call
}


declare i64 @_Z20_cl_convert_long_rtnf(float) local_unnamed_addr #0

define spir_func i64 @_Z16convert_long_rtnf(float %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z20_cl_convert_long_rtnf(float %a)
  ret i64 %call
}


declare <2 x i64> @_Z21_cl_convert_long2_rtnDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z17convert_long2_rtnDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z21_cl_convert_long2_rtnDv2_f(<2 x float> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z21_cl_convert_long3_rtnDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z17convert_long3_rtnDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z21_cl_convert_long3_rtnDv3_f(<3 x float> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z21_cl_convert_long4_rtnDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z17convert_long4_rtnDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z21_cl_convert_long4_rtnDv4_f(<4 x float> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z21_cl_convert_long8_rtnDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z17convert_long8_rtnDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z21_cl_convert_long8_rtnDv8_f(<8 x float> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z22_cl_convert_long16_rtnDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z18convert_long16_rtnDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z22_cl_convert_long16_rtnDv16_f(<16 x float> %a)
  ret <16 x i64> %call
}


declare i64 @_Z20_cl_convert_long_rtef(float) local_unnamed_addr #0

define spir_func i64 @_Z16convert_long_rtef(float %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z20_cl_convert_long_rtef(float %a)
  ret i64 %call
}


declare <2 x i64> @_Z21_cl_convert_long2_rteDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z17convert_long2_rteDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z21_cl_convert_long2_rteDv2_f(<2 x float> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z21_cl_convert_long3_rteDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z17convert_long3_rteDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z21_cl_convert_long3_rteDv3_f(<3 x float> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z21_cl_convert_long4_rteDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z17convert_long4_rteDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z21_cl_convert_long4_rteDv4_f(<4 x float> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z21_cl_convert_long8_rteDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z17convert_long8_rteDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z21_cl_convert_long8_rteDv8_f(<8 x float> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z22_cl_convert_long16_rteDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z18convert_long16_rteDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z22_cl_convert_long16_rteDv16_f(<16 x float> %a)
  ret <16 x i64> %call
}


declare i64 @_Z20_cl_convert_long_rtzf(float) local_unnamed_addr #0

define spir_func i64 @_Z16convert_long_rtzf(float %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z20_cl_convert_long_rtzf(float %a)
  ret i64 %call
}


declare <2 x i64> @_Z21_cl_convert_long2_rtzDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z17convert_long2_rtzDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z21_cl_convert_long2_rtzDv2_f(<2 x float> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z21_cl_convert_long3_rtzDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z17convert_long3_rtzDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z21_cl_convert_long3_rtzDv3_f(<3 x float> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z21_cl_convert_long4_rtzDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z17convert_long4_rtzDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z21_cl_convert_long4_rtzDv4_f(<4 x float> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z21_cl_convert_long8_rtzDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z17convert_long8_rtzDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z21_cl_convert_long8_rtzDv8_f(<8 x float> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z22_cl_convert_long16_rtzDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z18convert_long16_rtzDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z22_cl_convert_long16_rtzDv16_f(<16 x float> %a)
  ret <16 x i64> %call
}


declare i64 @_Z20_cl_convert_long_satf(float) local_unnamed_addr #0

define spir_func i64 @_Z16convert_long_satf(float %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z20_cl_convert_long_satf(float %a)
  ret i64 %call
}


declare <2 x i64> @_Z21_cl_convert_long2_satDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z17convert_long2_satDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z21_cl_convert_long2_satDv2_f(<2 x float> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z21_cl_convert_long3_satDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z17convert_long3_satDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z21_cl_convert_long3_satDv3_f(<3 x float> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z21_cl_convert_long4_satDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z17convert_long4_satDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z21_cl_convert_long4_satDv4_f(<4 x float> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z21_cl_convert_long8_satDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z17convert_long8_satDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z21_cl_convert_long8_satDv8_f(<8 x float> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z22_cl_convert_long16_satDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z18convert_long16_satDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z22_cl_convert_long16_satDv16_f(<16 x float> %a)
  ret <16 x i64> %call
}


declare i64 @_Z24_cl_convert_long_sat_rtpf(float) local_unnamed_addr #0

define spir_func i64 @_Z20convert_long_sat_rtpf(float %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z24_cl_convert_long_sat_rtpf(float %a)
  ret i64 %call
}


declare <2 x i64> @_Z25_cl_convert_long2_sat_rtpDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z21convert_long2_sat_rtpDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z25_cl_convert_long2_sat_rtpDv2_f(<2 x float> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z25_cl_convert_long3_sat_rtpDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z21convert_long3_sat_rtpDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z25_cl_convert_long3_sat_rtpDv3_f(<3 x float> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z25_cl_convert_long4_sat_rtpDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z21convert_long4_sat_rtpDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z25_cl_convert_long4_sat_rtpDv4_f(<4 x float> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z25_cl_convert_long8_sat_rtpDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z21convert_long8_sat_rtpDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z25_cl_convert_long8_sat_rtpDv8_f(<8 x float> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z26_cl_convert_long16_sat_rtpDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z22convert_long16_sat_rtpDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z26_cl_convert_long16_sat_rtpDv16_f(<16 x float> %a)
  ret <16 x i64> %call
}


declare i64 @_Z24_cl_convert_long_sat_rtnf(float) local_unnamed_addr #0

define spir_func i64 @_Z20convert_long_sat_rtnf(float %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z24_cl_convert_long_sat_rtnf(float %a)
  ret i64 %call
}


declare <2 x i64> @_Z25_cl_convert_long2_sat_rtnDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z21convert_long2_sat_rtnDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z25_cl_convert_long2_sat_rtnDv2_f(<2 x float> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z25_cl_convert_long3_sat_rtnDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z21convert_long3_sat_rtnDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z25_cl_convert_long3_sat_rtnDv3_f(<3 x float> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z25_cl_convert_long4_sat_rtnDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z21convert_long4_sat_rtnDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z25_cl_convert_long4_sat_rtnDv4_f(<4 x float> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z25_cl_convert_long8_sat_rtnDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z21convert_long8_sat_rtnDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z25_cl_convert_long8_sat_rtnDv8_f(<8 x float> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z26_cl_convert_long16_sat_rtnDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z22convert_long16_sat_rtnDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z26_cl_convert_long16_sat_rtnDv16_f(<16 x float> %a)
  ret <16 x i64> %call
}


declare i64 @_Z24_cl_convert_long_sat_rtef(float) local_unnamed_addr #0

define spir_func i64 @_Z20convert_long_sat_rtef(float %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z24_cl_convert_long_sat_rtef(float %a)
  ret i64 %call
}


declare <2 x i64> @_Z25_cl_convert_long2_sat_rteDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z21convert_long2_sat_rteDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z25_cl_convert_long2_sat_rteDv2_f(<2 x float> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z25_cl_convert_long3_sat_rteDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z21convert_long3_sat_rteDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z25_cl_convert_long3_sat_rteDv3_f(<3 x float> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z25_cl_convert_long4_sat_rteDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z21convert_long4_sat_rteDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z25_cl_convert_long4_sat_rteDv4_f(<4 x float> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z25_cl_convert_long8_sat_rteDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z21convert_long8_sat_rteDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z25_cl_convert_long8_sat_rteDv8_f(<8 x float> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z26_cl_convert_long16_sat_rteDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z22convert_long16_sat_rteDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z26_cl_convert_long16_sat_rteDv16_f(<16 x float> %a)
  ret <16 x i64> %call
}


declare i64 @_Z24_cl_convert_long_sat_rtzf(float) local_unnamed_addr #0

define spir_func i64 @_Z20convert_long_sat_rtzf(float %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z24_cl_convert_long_sat_rtzf(float %a)
  ret i64 %call
}


declare <2 x i64> @_Z25_cl_convert_long2_sat_rtzDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z21convert_long2_sat_rtzDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z25_cl_convert_long2_sat_rtzDv2_f(<2 x float> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z25_cl_convert_long3_sat_rtzDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z21convert_long3_sat_rtzDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z25_cl_convert_long3_sat_rtzDv3_f(<3 x float> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z25_cl_convert_long4_sat_rtzDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z21convert_long4_sat_rtzDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z25_cl_convert_long4_sat_rtzDv4_f(<4 x float> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z25_cl_convert_long8_sat_rtzDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z21convert_long8_sat_rtzDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z25_cl_convert_long8_sat_rtzDv8_f(<8 x float> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z26_cl_convert_long16_sat_rtzDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z22convert_long16_sat_rtzDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z26_cl_convert_long16_sat_rtzDv16_f(<16 x float> %a)
  ret <16 x i64> %call
}


declare i64 @_Z16_cl_convert_longd(double) local_unnamed_addr #0

define spir_func i64 @_Z12convert_longd(double %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z16_cl_convert_longd(double %a)
  ret i64 %call
}


declare <2 x i64> @_Z17_cl_convert_long2Dv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z13convert_long2Dv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z17_cl_convert_long2Dv2_d(<2 x double> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z17_cl_convert_long3Dv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z13convert_long3Dv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z17_cl_convert_long3Dv3_d(<3 x double> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z17_cl_convert_long4Dv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z13convert_long4Dv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z17_cl_convert_long4Dv4_d(<4 x double> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z17_cl_convert_long8Dv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z13convert_long8Dv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z17_cl_convert_long8Dv8_d(<8 x double> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z18_cl_convert_long16Dv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z14convert_long16Dv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z18_cl_convert_long16Dv16_d(<16 x double> %a)
  ret <16 x i64> %call
}


declare i64 @_Z20_cl_convert_long_rtpd(double) local_unnamed_addr #0

define spir_func i64 @_Z16convert_long_rtpd(double %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z20_cl_convert_long_rtpd(double %a)
  ret i64 %call
}


declare <2 x i64> @_Z21_cl_convert_long2_rtpDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z17convert_long2_rtpDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z21_cl_convert_long2_rtpDv2_d(<2 x double> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z21_cl_convert_long3_rtpDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z17convert_long3_rtpDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z21_cl_convert_long3_rtpDv3_d(<3 x double> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z21_cl_convert_long4_rtpDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z17convert_long4_rtpDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z21_cl_convert_long4_rtpDv4_d(<4 x double> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z21_cl_convert_long8_rtpDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z17convert_long8_rtpDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z21_cl_convert_long8_rtpDv8_d(<8 x double> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z22_cl_convert_long16_rtpDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z18convert_long16_rtpDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z22_cl_convert_long16_rtpDv16_d(<16 x double> %a)
  ret <16 x i64> %call
}


declare i64 @_Z20_cl_convert_long_rtnd(double) local_unnamed_addr #0

define spir_func i64 @_Z16convert_long_rtnd(double %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z20_cl_convert_long_rtnd(double %a)
  ret i64 %call
}


declare <2 x i64> @_Z21_cl_convert_long2_rtnDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z17convert_long2_rtnDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z21_cl_convert_long2_rtnDv2_d(<2 x double> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z21_cl_convert_long3_rtnDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z17convert_long3_rtnDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z21_cl_convert_long3_rtnDv3_d(<3 x double> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z21_cl_convert_long4_rtnDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z17convert_long4_rtnDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z21_cl_convert_long4_rtnDv4_d(<4 x double> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z21_cl_convert_long8_rtnDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z17convert_long8_rtnDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z21_cl_convert_long8_rtnDv8_d(<8 x double> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z22_cl_convert_long16_rtnDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z18convert_long16_rtnDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z22_cl_convert_long16_rtnDv16_d(<16 x double> %a)
  ret <16 x i64> %call
}


declare i64 @_Z20_cl_convert_long_rted(double) local_unnamed_addr #0

define spir_func i64 @_Z16convert_long_rted(double %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z20_cl_convert_long_rted(double %a)
  ret i64 %call
}


declare <2 x i64> @_Z21_cl_convert_long2_rteDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z17convert_long2_rteDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z21_cl_convert_long2_rteDv2_d(<2 x double> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z21_cl_convert_long3_rteDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z17convert_long3_rteDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z21_cl_convert_long3_rteDv3_d(<3 x double> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z21_cl_convert_long4_rteDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z17convert_long4_rteDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z21_cl_convert_long4_rteDv4_d(<4 x double> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z21_cl_convert_long8_rteDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z17convert_long8_rteDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z21_cl_convert_long8_rteDv8_d(<8 x double> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z22_cl_convert_long16_rteDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z18convert_long16_rteDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z22_cl_convert_long16_rteDv16_d(<16 x double> %a)
  ret <16 x i64> %call
}


declare i64 @_Z20_cl_convert_long_rtzd(double) local_unnamed_addr #0

define spir_func i64 @_Z16convert_long_rtzd(double %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z20_cl_convert_long_rtzd(double %a)
  ret i64 %call
}


declare <2 x i64> @_Z21_cl_convert_long2_rtzDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z17convert_long2_rtzDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z21_cl_convert_long2_rtzDv2_d(<2 x double> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z21_cl_convert_long3_rtzDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z17convert_long3_rtzDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z21_cl_convert_long3_rtzDv3_d(<3 x double> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z21_cl_convert_long4_rtzDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z17convert_long4_rtzDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z21_cl_convert_long4_rtzDv4_d(<4 x double> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z21_cl_convert_long8_rtzDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z17convert_long8_rtzDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z21_cl_convert_long8_rtzDv8_d(<8 x double> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z22_cl_convert_long16_rtzDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z18convert_long16_rtzDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z22_cl_convert_long16_rtzDv16_d(<16 x double> %a)
  ret <16 x i64> %call
}


declare i64 @_Z20_cl_convert_long_satd(double) local_unnamed_addr #0

define spir_func i64 @_Z16convert_long_satd(double %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z20_cl_convert_long_satd(double %a)
  ret i64 %call
}


declare <2 x i64> @_Z21_cl_convert_long2_satDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z17convert_long2_satDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z21_cl_convert_long2_satDv2_d(<2 x double> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z21_cl_convert_long3_satDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z17convert_long3_satDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z21_cl_convert_long3_satDv3_d(<3 x double> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z21_cl_convert_long4_satDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z17convert_long4_satDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z21_cl_convert_long4_satDv4_d(<4 x double> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z21_cl_convert_long8_satDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z17convert_long8_satDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z21_cl_convert_long8_satDv8_d(<8 x double> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z22_cl_convert_long16_satDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z18convert_long16_satDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z22_cl_convert_long16_satDv16_d(<16 x double> %a)
  ret <16 x i64> %call
}


declare i64 @_Z24_cl_convert_long_sat_rtpd(double) local_unnamed_addr #0

define spir_func i64 @_Z20convert_long_sat_rtpd(double %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z24_cl_convert_long_sat_rtpd(double %a)
  ret i64 %call
}


declare <2 x i64> @_Z25_cl_convert_long2_sat_rtpDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z21convert_long2_sat_rtpDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z25_cl_convert_long2_sat_rtpDv2_d(<2 x double> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z25_cl_convert_long3_sat_rtpDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z21convert_long3_sat_rtpDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z25_cl_convert_long3_sat_rtpDv3_d(<3 x double> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z25_cl_convert_long4_sat_rtpDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z21convert_long4_sat_rtpDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z25_cl_convert_long4_sat_rtpDv4_d(<4 x double> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z25_cl_convert_long8_sat_rtpDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z21convert_long8_sat_rtpDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z25_cl_convert_long8_sat_rtpDv8_d(<8 x double> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z26_cl_convert_long16_sat_rtpDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z22convert_long16_sat_rtpDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z26_cl_convert_long16_sat_rtpDv16_d(<16 x double> %a)
  ret <16 x i64> %call
}


declare i64 @_Z24_cl_convert_long_sat_rtnd(double) local_unnamed_addr #0

define spir_func i64 @_Z20convert_long_sat_rtnd(double %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z24_cl_convert_long_sat_rtnd(double %a)
  ret i64 %call
}


declare <2 x i64> @_Z25_cl_convert_long2_sat_rtnDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z21convert_long2_sat_rtnDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z25_cl_convert_long2_sat_rtnDv2_d(<2 x double> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z25_cl_convert_long3_sat_rtnDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z21convert_long3_sat_rtnDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z25_cl_convert_long3_sat_rtnDv3_d(<3 x double> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z25_cl_convert_long4_sat_rtnDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z21convert_long4_sat_rtnDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z25_cl_convert_long4_sat_rtnDv4_d(<4 x double> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z25_cl_convert_long8_sat_rtnDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z21convert_long8_sat_rtnDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z25_cl_convert_long8_sat_rtnDv8_d(<8 x double> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z26_cl_convert_long16_sat_rtnDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z22convert_long16_sat_rtnDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z26_cl_convert_long16_sat_rtnDv16_d(<16 x double> %a)
  ret <16 x i64> %call
}


declare i64 @_Z24_cl_convert_long_sat_rted(double) local_unnamed_addr #0

define spir_func i64 @_Z20convert_long_sat_rted(double %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z24_cl_convert_long_sat_rted(double %a)
  ret i64 %call
}


declare <2 x i64> @_Z25_cl_convert_long2_sat_rteDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z21convert_long2_sat_rteDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z25_cl_convert_long2_sat_rteDv2_d(<2 x double> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z25_cl_convert_long3_sat_rteDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z21convert_long3_sat_rteDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z25_cl_convert_long3_sat_rteDv3_d(<3 x double> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z25_cl_convert_long4_sat_rteDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z21convert_long4_sat_rteDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z25_cl_convert_long4_sat_rteDv4_d(<4 x double> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z25_cl_convert_long8_sat_rteDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z21convert_long8_sat_rteDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z25_cl_convert_long8_sat_rteDv8_d(<8 x double> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z26_cl_convert_long16_sat_rteDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z22convert_long16_sat_rteDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z26_cl_convert_long16_sat_rteDv16_d(<16 x double> %a)
  ret <16 x i64> %call
}


declare i64 @_Z24_cl_convert_long_sat_rtzd(double) local_unnamed_addr #0

define spir_func i64 @_Z20convert_long_sat_rtzd(double %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z24_cl_convert_long_sat_rtzd(double %a)
  ret i64 %call
}


declare <2 x i64> @_Z25_cl_convert_long2_sat_rtzDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z21convert_long2_sat_rtzDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z25_cl_convert_long2_sat_rtzDv2_d(<2 x double> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z25_cl_convert_long3_sat_rtzDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z21convert_long3_sat_rtzDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z25_cl_convert_long3_sat_rtzDv3_d(<3 x double> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z25_cl_convert_long4_sat_rtzDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z21convert_long4_sat_rtzDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z25_cl_convert_long4_sat_rtzDv4_d(<4 x double> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z25_cl_convert_long8_sat_rtzDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z21convert_long8_sat_rtzDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z25_cl_convert_long8_sat_rtzDv8_d(<8 x double> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z26_cl_convert_long16_sat_rtzDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z22convert_long16_sat_rtzDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z26_cl_convert_long16_sat_rtzDv16_d(<16 x double> %a)
  ret <16 x i64> %call
}


declare i64 @_Z17_cl_convert_ulongc(i8) local_unnamed_addr #0

define spir_func i64 @_Z13convert_ulongc(i8 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z17_cl_convert_ulongc(i8 %a)
  ret i64 %call
}


declare <2 x i64> @_Z18_cl_convert_ulong2Dv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z14convert_ulong2Dv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z18_cl_convert_ulong2Dv2_c(<2 x i8> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z18_cl_convert_ulong3Dv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z14convert_ulong3Dv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z18_cl_convert_ulong3Dv3_c(<3 x i8> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z18_cl_convert_ulong4Dv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z14convert_ulong4Dv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z18_cl_convert_ulong4Dv4_c(<4 x i8> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z18_cl_convert_ulong8Dv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z14convert_ulong8Dv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z18_cl_convert_ulong8Dv8_c(<8 x i8> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z19_cl_convert_ulong16Dv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z15convert_ulong16Dv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z19_cl_convert_ulong16Dv16_c(<16 x i8> %a)
  ret <16 x i64> %call
}


declare i64 @_Z21_cl_convert_ulong_rtpc(i8) local_unnamed_addr #0

define spir_func i64 @_Z17convert_ulong_rtpc(i8 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z21_cl_convert_ulong_rtpc(i8 %a)
  ret i64 %call
}


declare <2 x i64> @_Z22_cl_convert_ulong2_rtpDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z18convert_ulong2_rtpDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z22_cl_convert_ulong2_rtpDv2_c(<2 x i8> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z22_cl_convert_ulong3_rtpDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z18convert_ulong3_rtpDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z22_cl_convert_ulong3_rtpDv3_c(<3 x i8> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z22_cl_convert_ulong4_rtpDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z18convert_ulong4_rtpDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z22_cl_convert_ulong4_rtpDv4_c(<4 x i8> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z22_cl_convert_ulong8_rtpDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z18convert_ulong8_rtpDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z22_cl_convert_ulong8_rtpDv8_c(<8 x i8> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z23_cl_convert_ulong16_rtpDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z19convert_ulong16_rtpDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z23_cl_convert_ulong16_rtpDv16_c(<16 x i8> %a)
  ret <16 x i64> %call
}


declare i64 @_Z21_cl_convert_ulong_rtnc(i8) local_unnamed_addr #0

define spir_func i64 @_Z17convert_ulong_rtnc(i8 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z21_cl_convert_ulong_rtnc(i8 %a)
  ret i64 %call
}


declare <2 x i64> @_Z22_cl_convert_ulong2_rtnDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z18convert_ulong2_rtnDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z22_cl_convert_ulong2_rtnDv2_c(<2 x i8> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z22_cl_convert_ulong3_rtnDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z18convert_ulong3_rtnDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z22_cl_convert_ulong3_rtnDv3_c(<3 x i8> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z22_cl_convert_ulong4_rtnDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z18convert_ulong4_rtnDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z22_cl_convert_ulong4_rtnDv4_c(<4 x i8> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z22_cl_convert_ulong8_rtnDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z18convert_ulong8_rtnDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z22_cl_convert_ulong8_rtnDv8_c(<8 x i8> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z23_cl_convert_ulong16_rtnDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z19convert_ulong16_rtnDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z23_cl_convert_ulong16_rtnDv16_c(<16 x i8> %a)
  ret <16 x i64> %call
}


declare i64 @_Z21_cl_convert_ulong_rtec(i8) local_unnamed_addr #0

define spir_func i64 @_Z17convert_ulong_rtec(i8 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z21_cl_convert_ulong_rtec(i8 %a)
  ret i64 %call
}


declare <2 x i64> @_Z22_cl_convert_ulong2_rteDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z18convert_ulong2_rteDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z22_cl_convert_ulong2_rteDv2_c(<2 x i8> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z22_cl_convert_ulong3_rteDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z18convert_ulong3_rteDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z22_cl_convert_ulong3_rteDv3_c(<3 x i8> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z22_cl_convert_ulong4_rteDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z18convert_ulong4_rteDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z22_cl_convert_ulong4_rteDv4_c(<4 x i8> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z22_cl_convert_ulong8_rteDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z18convert_ulong8_rteDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z22_cl_convert_ulong8_rteDv8_c(<8 x i8> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z23_cl_convert_ulong16_rteDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z19convert_ulong16_rteDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z23_cl_convert_ulong16_rteDv16_c(<16 x i8> %a)
  ret <16 x i64> %call
}


declare i64 @_Z21_cl_convert_ulong_rtzc(i8) local_unnamed_addr #0

define spir_func i64 @_Z17convert_ulong_rtzc(i8 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z21_cl_convert_ulong_rtzc(i8 %a)
  ret i64 %call
}


declare <2 x i64> @_Z22_cl_convert_ulong2_rtzDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z18convert_ulong2_rtzDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z22_cl_convert_ulong2_rtzDv2_c(<2 x i8> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z22_cl_convert_ulong3_rtzDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z18convert_ulong3_rtzDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z22_cl_convert_ulong3_rtzDv3_c(<3 x i8> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z22_cl_convert_ulong4_rtzDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z18convert_ulong4_rtzDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z22_cl_convert_ulong4_rtzDv4_c(<4 x i8> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z22_cl_convert_ulong8_rtzDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z18convert_ulong8_rtzDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z22_cl_convert_ulong8_rtzDv8_c(<8 x i8> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z23_cl_convert_ulong16_rtzDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z19convert_ulong16_rtzDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z23_cl_convert_ulong16_rtzDv16_c(<16 x i8> %a)
  ret <16 x i64> %call
}


declare i64 @_Z21_cl_convert_ulong_satc(i8) local_unnamed_addr #0

define spir_func i64 @_Z17convert_ulong_satc(i8 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z21_cl_convert_ulong_satc(i8 %a)
  ret i64 %call
}


declare <2 x i64> @_Z22_cl_convert_ulong2_satDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z18convert_ulong2_satDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z22_cl_convert_ulong2_satDv2_c(<2 x i8> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z22_cl_convert_ulong3_satDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z18convert_ulong3_satDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z22_cl_convert_ulong3_satDv3_c(<3 x i8> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z22_cl_convert_ulong4_satDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z18convert_ulong4_satDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z22_cl_convert_ulong4_satDv4_c(<4 x i8> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z22_cl_convert_ulong8_satDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z18convert_ulong8_satDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z22_cl_convert_ulong8_satDv8_c(<8 x i8> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z23_cl_convert_ulong16_satDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z19convert_ulong16_satDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z23_cl_convert_ulong16_satDv16_c(<16 x i8> %a)
  ret <16 x i64> %call
}


declare i64 @_Z25_cl_convert_ulong_sat_rtpc(i8) local_unnamed_addr #0

define spir_func i64 @_Z21convert_ulong_sat_rtpc(i8 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z25_cl_convert_ulong_sat_rtpc(i8 %a)
  ret i64 %call
}


declare <2 x i64> @_Z26_cl_convert_ulong2_sat_rtpDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z22convert_ulong2_sat_rtpDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z26_cl_convert_ulong2_sat_rtpDv2_c(<2 x i8> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z26_cl_convert_ulong3_sat_rtpDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z22convert_ulong3_sat_rtpDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z26_cl_convert_ulong3_sat_rtpDv3_c(<3 x i8> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z26_cl_convert_ulong4_sat_rtpDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z22convert_ulong4_sat_rtpDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z26_cl_convert_ulong4_sat_rtpDv4_c(<4 x i8> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z26_cl_convert_ulong8_sat_rtpDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z22convert_ulong8_sat_rtpDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z26_cl_convert_ulong8_sat_rtpDv8_c(<8 x i8> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z27_cl_convert_ulong16_sat_rtpDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z23convert_ulong16_sat_rtpDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z27_cl_convert_ulong16_sat_rtpDv16_c(<16 x i8> %a)
  ret <16 x i64> %call
}


declare i64 @_Z25_cl_convert_ulong_sat_rtnc(i8) local_unnamed_addr #0

define spir_func i64 @_Z21convert_ulong_sat_rtnc(i8 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z25_cl_convert_ulong_sat_rtnc(i8 %a)
  ret i64 %call
}


declare <2 x i64> @_Z26_cl_convert_ulong2_sat_rtnDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z22convert_ulong2_sat_rtnDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z26_cl_convert_ulong2_sat_rtnDv2_c(<2 x i8> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z26_cl_convert_ulong3_sat_rtnDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z22convert_ulong3_sat_rtnDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z26_cl_convert_ulong3_sat_rtnDv3_c(<3 x i8> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z26_cl_convert_ulong4_sat_rtnDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z22convert_ulong4_sat_rtnDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z26_cl_convert_ulong4_sat_rtnDv4_c(<4 x i8> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z26_cl_convert_ulong8_sat_rtnDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z22convert_ulong8_sat_rtnDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z26_cl_convert_ulong8_sat_rtnDv8_c(<8 x i8> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z27_cl_convert_ulong16_sat_rtnDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z23convert_ulong16_sat_rtnDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z27_cl_convert_ulong16_sat_rtnDv16_c(<16 x i8> %a)
  ret <16 x i64> %call
}


declare i64 @_Z25_cl_convert_ulong_sat_rtec(i8) local_unnamed_addr #0

define spir_func i64 @_Z21convert_ulong_sat_rtec(i8 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z25_cl_convert_ulong_sat_rtec(i8 %a)
  ret i64 %call
}


declare <2 x i64> @_Z26_cl_convert_ulong2_sat_rteDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z22convert_ulong2_sat_rteDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z26_cl_convert_ulong2_sat_rteDv2_c(<2 x i8> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z26_cl_convert_ulong3_sat_rteDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z22convert_ulong3_sat_rteDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z26_cl_convert_ulong3_sat_rteDv3_c(<3 x i8> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z26_cl_convert_ulong4_sat_rteDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z22convert_ulong4_sat_rteDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z26_cl_convert_ulong4_sat_rteDv4_c(<4 x i8> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z26_cl_convert_ulong8_sat_rteDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z22convert_ulong8_sat_rteDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z26_cl_convert_ulong8_sat_rteDv8_c(<8 x i8> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z27_cl_convert_ulong16_sat_rteDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z23convert_ulong16_sat_rteDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z27_cl_convert_ulong16_sat_rteDv16_c(<16 x i8> %a)
  ret <16 x i64> %call
}


declare i64 @_Z25_cl_convert_ulong_sat_rtzc(i8) local_unnamed_addr #0

define spir_func i64 @_Z21convert_ulong_sat_rtzc(i8 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z25_cl_convert_ulong_sat_rtzc(i8 %a)
  ret i64 %call
}


declare <2 x i64> @_Z26_cl_convert_ulong2_sat_rtzDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z22convert_ulong2_sat_rtzDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z26_cl_convert_ulong2_sat_rtzDv2_c(<2 x i8> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z26_cl_convert_ulong3_sat_rtzDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z22convert_ulong3_sat_rtzDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z26_cl_convert_ulong3_sat_rtzDv3_c(<3 x i8> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z26_cl_convert_ulong4_sat_rtzDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z22convert_ulong4_sat_rtzDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z26_cl_convert_ulong4_sat_rtzDv4_c(<4 x i8> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z26_cl_convert_ulong8_sat_rtzDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z22convert_ulong8_sat_rtzDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z26_cl_convert_ulong8_sat_rtzDv8_c(<8 x i8> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z27_cl_convert_ulong16_sat_rtzDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z23convert_ulong16_sat_rtzDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z27_cl_convert_ulong16_sat_rtzDv16_c(<16 x i8> %a)
  ret <16 x i64> %call
}


declare i64 @_Z17_cl_convert_ulongh(i8) local_unnamed_addr #0

define spir_func i64 @_Z13convert_ulongh(i8 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z17_cl_convert_ulongh(i8 %a)
  ret i64 %call
}


declare <2 x i64> @_Z18_cl_convert_ulong2Dv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z14convert_ulong2Dv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z18_cl_convert_ulong2Dv2_h(<2 x i8> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z18_cl_convert_ulong3Dv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z14convert_ulong3Dv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z18_cl_convert_ulong3Dv3_h(<3 x i8> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z18_cl_convert_ulong4Dv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z14convert_ulong4Dv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z18_cl_convert_ulong4Dv4_h(<4 x i8> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z18_cl_convert_ulong8Dv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z14convert_ulong8Dv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z18_cl_convert_ulong8Dv8_h(<8 x i8> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z19_cl_convert_ulong16Dv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z15convert_ulong16Dv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z19_cl_convert_ulong16Dv16_h(<16 x i8> %a)
  ret <16 x i64> %call
}


declare i64 @_Z21_cl_convert_ulong_rtph(i8) local_unnamed_addr #0

define spir_func i64 @_Z17convert_ulong_rtph(i8 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z21_cl_convert_ulong_rtph(i8 %a)
  ret i64 %call
}


declare <2 x i64> @_Z22_cl_convert_ulong2_rtpDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z18convert_ulong2_rtpDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z22_cl_convert_ulong2_rtpDv2_h(<2 x i8> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z22_cl_convert_ulong3_rtpDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z18convert_ulong3_rtpDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z22_cl_convert_ulong3_rtpDv3_h(<3 x i8> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z22_cl_convert_ulong4_rtpDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z18convert_ulong4_rtpDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z22_cl_convert_ulong4_rtpDv4_h(<4 x i8> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z22_cl_convert_ulong8_rtpDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z18convert_ulong8_rtpDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z22_cl_convert_ulong8_rtpDv8_h(<8 x i8> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z23_cl_convert_ulong16_rtpDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z19convert_ulong16_rtpDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z23_cl_convert_ulong16_rtpDv16_h(<16 x i8> %a)
  ret <16 x i64> %call
}


declare i64 @_Z21_cl_convert_ulong_rtnh(i8) local_unnamed_addr #0

define spir_func i64 @_Z17convert_ulong_rtnh(i8 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z21_cl_convert_ulong_rtnh(i8 %a)
  ret i64 %call
}


declare <2 x i64> @_Z22_cl_convert_ulong2_rtnDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z18convert_ulong2_rtnDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z22_cl_convert_ulong2_rtnDv2_h(<2 x i8> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z22_cl_convert_ulong3_rtnDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z18convert_ulong3_rtnDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z22_cl_convert_ulong3_rtnDv3_h(<3 x i8> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z22_cl_convert_ulong4_rtnDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z18convert_ulong4_rtnDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z22_cl_convert_ulong4_rtnDv4_h(<4 x i8> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z22_cl_convert_ulong8_rtnDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z18convert_ulong8_rtnDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z22_cl_convert_ulong8_rtnDv8_h(<8 x i8> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z23_cl_convert_ulong16_rtnDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z19convert_ulong16_rtnDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z23_cl_convert_ulong16_rtnDv16_h(<16 x i8> %a)
  ret <16 x i64> %call
}


declare i64 @_Z21_cl_convert_ulong_rteh(i8) local_unnamed_addr #0

define spir_func i64 @_Z17convert_ulong_rteh(i8 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z21_cl_convert_ulong_rteh(i8 %a)
  ret i64 %call
}


declare <2 x i64> @_Z22_cl_convert_ulong2_rteDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z18convert_ulong2_rteDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z22_cl_convert_ulong2_rteDv2_h(<2 x i8> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z22_cl_convert_ulong3_rteDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z18convert_ulong3_rteDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z22_cl_convert_ulong3_rteDv3_h(<3 x i8> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z22_cl_convert_ulong4_rteDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z18convert_ulong4_rteDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z22_cl_convert_ulong4_rteDv4_h(<4 x i8> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z22_cl_convert_ulong8_rteDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z18convert_ulong8_rteDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z22_cl_convert_ulong8_rteDv8_h(<8 x i8> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z23_cl_convert_ulong16_rteDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z19convert_ulong16_rteDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z23_cl_convert_ulong16_rteDv16_h(<16 x i8> %a)
  ret <16 x i64> %call
}


declare i64 @_Z21_cl_convert_ulong_rtzh(i8) local_unnamed_addr #0

define spir_func i64 @_Z17convert_ulong_rtzh(i8 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z21_cl_convert_ulong_rtzh(i8 %a)
  ret i64 %call
}


declare <2 x i64> @_Z22_cl_convert_ulong2_rtzDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z18convert_ulong2_rtzDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z22_cl_convert_ulong2_rtzDv2_h(<2 x i8> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z22_cl_convert_ulong3_rtzDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z18convert_ulong3_rtzDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z22_cl_convert_ulong3_rtzDv3_h(<3 x i8> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z22_cl_convert_ulong4_rtzDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z18convert_ulong4_rtzDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z22_cl_convert_ulong4_rtzDv4_h(<4 x i8> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z22_cl_convert_ulong8_rtzDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z18convert_ulong8_rtzDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z22_cl_convert_ulong8_rtzDv8_h(<8 x i8> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z23_cl_convert_ulong16_rtzDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z19convert_ulong16_rtzDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z23_cl_convert_ulong16_rtzDv16_h(<16 x i8> %a)
  ret <16 x i64> %call
}


declare i64 @_Z21_cl_convert_ulong_sath(i8) local_unnamed_addr #0

define spir_func i64 @_Z17convert_ulong_sath(i8 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z21_cl_convert_ulong_sath(i8 %a)
  ret i64 %call
}


declare <2 x i64> @_Z22_cl_convert_ulong2_satDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z18convert_ulong2_satDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z22_cl_convert_ulong2_satDv2_h(<2 x i8> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z22_cl_convert_ulong3_satDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z18convert_ulong3_satDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z22_cl_convert_ulong3_satDv3_h(<3 x i8> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z22_cl_convert_ulong4_satDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z18convert_ulong4_satDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z22_cl_convert_ulong4_satDv4_h(<4 x i8> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z22_cl_convert_ulong8_satDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z18convert_ulong8_satDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z22_cl_convert_ulong8_satDv8_h(<8 x i8> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z23_cl_convert_ulong16_satDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z19convert_ulong16_satDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z23_cl_convert_ulong16_satDv16_h(<16 x i8> %a)
  ret <16 x i64> %call
}


declare i64 @_Z25_cl_convert_ulong_sat_rtph(i8) local_unnamed_addr #0

define spir_func i64 @_Z21convert_ulong_sat_rtph(i8 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z25_cl_convert_ulong_sat_rtph(i8 %a)
  ret i64 %call
}


declare <2 x i64> @_Z26_cl_convert_ulong2_sat_rtpDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z22convert_ulong2_sat_rtpDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z26_cl_convert_ulong2_sat_rtpDv2_h(<2 x i8> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z26_cl_convert_ulong3_sat_rtpDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z22convert_ulong3_sat_rtpDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z26_cl_convert_ulong3_sat_rtpDv3_h(<3 x i8> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z26_cl_convert_ulong4_sat_rtpDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z22convert_ulong4_sat_rtpDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z26_cl_convert_ulong4_sat_rtpDv4_h(<4 x i8> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z26_cl_convert_ulong8_sat_rtpDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z22convert_ulong8_sat_rtpDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z26_cl_convert_ulong8_sat_rtpDv8_h(<8 x i8> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z27_cl_convert_ulong16_sat_rtpDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z23convert_ulong16_sat_rtpDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z27_cl_convert_ulong16_sat_rtpDv16_h(<16 x i8> %a)
  ret <16 x i64> %call
}


declare i64 @_Z25_cl_convert_ulong_sat_rtnh(i8) local_unnamed_addr #0

define spir_func i64 @_Z21convert_ulong_sat_rtnh(i8 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z25_cl_convert_ulong_sat_rtnh(i8 %a)
  ret i64 %call
}


declare <2 x i64> @_Z26_cl_convert_ulong2_sat_rtnDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z22convert_ulong2_sat_rtnDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z26_cl_convert_ulong2_sat_rtnDv2_h(<2 x i8> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z26_cl_convert_ulong3_sat_rtnDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z22convert_ulong3_sat_rtnDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z26_cl_convert_ulong3_sat_rtnDv3_h(<3 x i8> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z26_cl_convert_ulong4_sat_rtnDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z22convert_ulong4_sat_rtnDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z26_cl_convert_ulong4_sat_rtnDv4_h(<4 x i8> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z26_cl_convert_ulong8_sat_rtnDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z22convert_ulong8_sat_rtnDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z26_cl_convert_ulong8_sat_rtnDv8_h(<8 x i8> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z27_cl_convert_ulong16_sat_rtnDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z23convert_ulong16_sat_rtnDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z27_cl_convert_ulong16_sat_rtnDv16_h(<16 x i8> %a)
  ret <16 x i64> %call
}


declare i64 @_Z25_cl_convert_ulong_sat_rteh(i8) local_unnamed_addr #0

define spir_func i64 @_Z21convert_ulong_sat_rteh(i8 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z25_cl_convert_ulong_sat_rteh(i8 %a)
  ret i64 %call
}


declare <2 x i64> @_Z26_cl_convert_ulong2_sat_rteDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z22convert_ulong2_sat_rteDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z26_cl_convert_ulong2_sat_rteDv2_h(<2 x i8> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z26_cl_convert_ulong3_sat_rteDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z22convert_ulong3_sat_rteDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z26_cl_convert_ulong3_sat_rteDv3_h(<3 x i8> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z26_cl_convert_ulong4_sat_rteDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z22convert_ulong4_sat_rteDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z26_cl_convert_ulong4_sat_rteDv4_h(<4 x i8> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z26_cl_convert_ulong8_sat_rteDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z22convert_ulong8_sat_rteDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z26_cl_convert_ulong8_sat_rteDv8_h(<8 x i8> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z27_cl_convert_ulong16_sat_rteDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z23convert_ulong16_sat_rteDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z27_cl_convert_ulong16_sat_rteDv16_h(<16 x i8> %a)
  ret <16 x i64> %call
}


declare i64 @_Z25_cl_convert_ulong_sat_rtzh(i8) local_unnamed_addr #0

define spir_func i64 @_Z21convert_ulong_sat_rtzh(i8 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z25_cl_convert_ulong_sat_rtzh(i8 %a)
  ret i64 %call
}


declare <2 x i64> @_Z26_cl_convert_ulong2_sat_rtzDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z22convert_ulong2_sat_rtzDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z26_cl_convert_ulong2_sat_rtzDv2_h(<2 x i8> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z26_cl_convert_ulong3_sat_rtzDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z22convert_ulong3_sat_rtzDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z26_cl_convert_ulong3_sat_rtzDv3_h(<3 x i8> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z26_cl_convert_ulong4_sat_rtzDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z22convert_ulong4_sat_rtzDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z26_cl_convert_ulong4_sat_rtzDv4_h(<4 x i8> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z26_cl_convert_ulong8_sat_rtzDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z22convert_ulong8_sat_rtzDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z26_cl_convert_ulong8_sat_rtzDv8_h(<8 x i8> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z27_cl_convert_ulong16_sat_rtzDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z23convert_ulong16_sat_rtzDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z27_cl_convert_ulong16_sat_rtzDv16_h(<16 x i8> %a)
  ret <16 x i64> %call
}


declare i64 @_Z17_cl_convert_ulongs(i16) local_unnamed_addr #0

define spir_func i64 @_Z13convert_ulongs(i16 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z17_cl_convert_ulongs(i16 %a)
  ret i64 %call
}


declare <2 x i64> @_Z18_cl_convert_ulong2Dv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z14convert_ulong2Dv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z18_cl_convert_ulong2Dv2_s(<2 x i16> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z18_cl_convert_ulong3Dv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z14convert_ulong3Dv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z18_cl_convert_ulong3Dv3_s(<3 x i16> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z18_cl_convert_ulong4Dv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z14convert_ulong4Dv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z18_cl_convert_ulong4Dv4_s(<4 x i16> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z18_cl_convert_ulong8Dv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z14convert_ulong8Dv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z18_cl_convert_ulong8Dv8_s(<8 x i16> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z19_cl_convert_ulong16Dv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z15convert_ulong16Dv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z19_cl_convert_ulong16Dv16_s(<16 x i16> %a)
  ret <16 x i64> %call
}


declare i64 @_Z21_cl_convert_ulong_rtps(i16) local_unnamed_addr #0

define spir_func i64 @_Z17convert_ulong_rtps(i16 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z21_cl_convert_ulong_rtps(i16 %a)
  ret i64 %call
}


declare <2 x i64> @_Z22_cl_convert_ulong2_rtpDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z18convert_ulong2_rtpDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z22_cl_convert_ulong2_rtpDv2_s(<2 x i16> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z22_cl_convert_ulong3_rtpDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z18convert_ulong3_rtpDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z22_cl_convert_ulong3_rtpDv3_s(<3 x i16> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z22_cl_convert_ulong4_rtpDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z18convert_ulong4_rtpDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z22_cl_convert_ulong4_rtpDv4_s(<4 x i16> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z22_cl_convert_ulong8_rtpDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z18convert_ulong8_rtpDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z22_cl_convert_ulong8_rtpDv8_s(<8 x i16> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z23_cl_convert_ulong16_rtpDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z19convert_ulong16_rtpDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z23_cl_convert_ulong16_rtpDv16_s(<16 x i16> %a)
  ret <16 x i64> %call
}


declare i64 @_Z21_cl_convert_ulong_rtns(i16) local_unnamed_addr #0

define spir_func i64 @_Z17convert_ulong_rtns(i16 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z21_cl_convert_ulong_rtns(i16 %a)
  ret i64 %call
}


declare <2 x i64> @_Z22_cl_convert_ulong2_rtnDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z18convert_ulong2_rtnDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z22_cl_convert_ulong2_rtnDv2_s(<2 x i16> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z22_cl_convert_ulong3_rtnDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z18convert_ulong3_rtnDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z22_cl_convert_ulong3_rtnDv3_s(<3 x i16> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z22_cl_convert_ulong4_rtnDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z18convert_ulong4_rtnDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z22_cl_convert_ulong4_rtnDv4_s(<4 x i16> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z22_cl_convert_ulong8_rtnDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z18convert_ulong8_rtnDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z22_cl_convert_ulong8_rtnDv8_s(<8 x i16> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z23_cl_convert_ulong16_rtnDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z19convert_ulong16_rtnDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z23_cl_convert_ulong16_rtnDv16_s(<16 x i16> %a)
  ret <16 x i64> %call
}


declare i64 @_Z21_cl_convert_ulong_rtes(i16) local_unnamed_addr #0

define spir_func i64 @_Z17convert_ulong_rtes(i16 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z21_cl_convert_ulong_rtes(i16 %a)
  ret i64 %call
}


declare <2 x i64> @_Z22_cl_convert_ulong2_rteDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z18convert_ulong2_rteDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z22_cl_convert_ulong2_rteDv2_s(<2 x i16> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z22_cl_convert_ulong3_rteDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z18convert_ulong3_rteDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z22_cl_convert_ulong3_rteDv3_s(<3 x i16> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z22_cl_convert_ulong4_rteDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z18convert_ulong4_rteDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z22_cl_convert_ulong4_rteDv4_s(<4 x i16> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z22_cl_convert_ulong8_rteDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z18convert_ulong8_rteDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z22_cl_convert_ulong8_rteDv8_s(<8 x i16> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z23_cl_convert_ulong16_rteDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z19convert_ulong16_rteDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z23_cl_convert_ulong16_rteDv16_s(<16 x i16> %a)
  ret <16 x i64> %call
}


declare i64 @_Z21_cl_convert_ulong_rtzs(i16) local_unnamed_addr #0

define spir_func i64 @_Z17convert_ulong_rtzs(i16 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z21_cl_convert_ulong_rtzs(i16 %a)
  ret i64 %call
}


declare <2 x i64> @_Z22_cl_convert_ulong2_rtzDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z18convert_ulong2_rtzDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z22_cl_convert_ulong2_rtzDv2_s(<2 x i16> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z22_cl_convert_ulong3_rtzDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z18convert_ulong3_rtzDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z22_cl_convert_ulong3_rtzDv3_s(<3 x i16> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z22_cl_convert_ulong4_rtzDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z18convert_ulong4_rtzDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z22_cl_convert_ulong4_rtzDv4_s(<4 x i16> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z22_cl_convert_ulong8_rtzDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z18convert_ulong8_rtzDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z22_cl_convert_ulong8_rtzDv8_s(<8 x i16> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z23_cl_convert_ulong16_rtzDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z19convert_ulong16_rtzDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z23_cl_convert_ulong16_rtzDv16_s(<16 x i16> %a)
  ret <16 x i64> %call
}


declare i64 @_Z21_cl_convert_ulong_sats(i16) local_unnamed_addr #0

define spir_func i64 @_Z17convert_ulong_sats(i16 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z21_cl_convert_ulong_sats(i16 %a)
  ret i64 %call
}


declare <2 x i64> @_Z22_cl_convert_ulong2_satDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z18convert_ulong2_satDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z22_cl_convert_ulong2_satDv2_s(<2 x i16> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z22_cl_convert_ulong3_satDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z18convert_ulong3_satDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z22_cl_convert_ulong3_satDv3_s(<3 x i16> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z22_cl_convert_ulong4_satDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z18convert_ulong4_satDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z22_cl_convert_ulong4_satDv4_s(<4 x i16> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z22_cl_convert_ulong8_satDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z18convert_ulong8_satDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z22_cl_convert_ulong8_satDv8_s(<8 x i16> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z23_cl_convert_ulong16_satDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z19convert_ulong16_satDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z23_cl_convert_ulong16_satDv16_s(<16 x i16> %a)
  ret <16 x i64> %call
}


declare i64 @_Z25_cl_convert_ulong_sat_rtps(i16) local_unnamed_addr #0

define spir_func i64 @_Z21convert_ulong_sat_rtps(i16 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z25_cl_convert_ulong_sat_rtps(i16 %a)
  ret i64 %call
}


declare <2 x i64> @_Z26_cl_convert_ulong2_sat_rtpDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z22convert_ulong2_sat_rtpDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z26_cl_convert_ulong2_sat_rtpDv2_s(<2 x i16> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z26_cl_convert_ulong3_sat_rtpDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z22convert_ulong3_sat_rtpDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z26_cl_convert_ulong3_sat_rtpDv3_s(<3 x i16> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z26_cl_convert_ulong4_sat_rtpDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z22convert_ulong4_sat_rtpDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z26_cl_convert_ulong4_sat_rtpDv4_s(<4 x i16> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z26_cl_convert_ulong8_sat_rtpDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z22convert_ulong8_sat_rtpDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z26_cl_convert_ulong8_sat_rtpDv8_s(<8 x i16> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z27_cl_convert_ulong16_sat_rtpDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z23convert_ulong16_sat_rtpDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z27_cl_convert_ulong16_sat_rtpDv16_s(<16 x i16> %a)
  ret <16 x i64> %call
}


declare i64 @_Z25_cl_convert_ulong_sat_rtns(i16) local_unnamed_addr #0

define spir_func i64 @_Z21convert_ulong_sat_rtns(i16 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z25_cl_convert_ulong_sat_rtns(i16 %a)
  ret i64 %call
}


declare <2 x i64> @_Z26_cl_convert_ulong2_sat_rtnDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z22convert_ulong2_sat_rtnDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z26_cl_convert_ulong2_sat_rtnDv2_s(<2 x i16> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z26_cl_convert_ulong3_sat_rtnDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z22convert_ulong3_sat_rtnDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z26_cl_convert_ulong3_sat_rtnDv3_s(<3 x i16> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z26_cl_convert_ulong4_sat_rtnDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z22convert_ulong4_sat_rtnDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z26_cl_convert_ulong4_sat_rtnDv4_s(<4 x i16> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z26_cl_convert_ulong8_sat_rtnDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z22convert_ulong8_sat_rtnDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z26_cl_convert_ulong8_sat_rtnDv8_s(<8 x i16> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z27_cl_convert_ulong16_sat_rtnDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z23convert_ulong16_sat_rtnDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z27_cl_convert_ulong16_sat_rtnDv16_s(<16 x i16> %a)
  ret <16 x i64> %call
}


declare i64 @_Z25_cl_convert_ulong_sat_rtes(i16) local_unnamed_addr #0

define spir_func i64 @_Z21convert_ulong_sat_rtes(i16 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z25_cl_convert_ulong_sat_rtes(i16 %a)
  ret i64 %call
}


declare <2 x i64> @_Z26_cl_convert_ulong2_sat_rteDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z22convert_ulong2_sat_rteDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z26_cl_convert_ulong2_sat_rteDv2_s(<2 x i16> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z26_cl_convert_ulong3_sat_rteDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z22convert_ulong3_sat_rteDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z26_cl_convert_ulong3_sat_rteDv3_s(<3 x i16> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z26_cl_convert_ulong4_sat_rteDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z22convert_ulong4_sat_rteDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z26_cl_convert_ulong4_sat_rteDv4_s(<4 x i16> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z26_cl_convert_ulong8_sat_rteDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z22convert_ulong8_sat_rteDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z26_cl_convert_ulong8_sat_rteDv8_s(<8 x i16> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z27_cl_convert_ulong16_sat_rteDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z23convert_ulong16_sat_rteDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z27_cl_convert_ulong16_sat_rteDv16_s(<16 x i16> %a)
  ret <16 x i64> %call
}


declare i64 @_Z25_cl_convert_ulong_sat_rtzs(i16) local_unnamed_addr #0

define spir_func i64 @_Z21convert_ulong_sat_rtzs(i16 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z25_cl_convert_ulong_sat_rtzs(i16 %a)
  ret i64 %call
}


declare <2 x i64> @_Z26_cl_convert_ulong2_sat_rtzDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z22convert_ulong2_sat_rtzDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z26_cl_convert_ulong2_sat_rtzDv2_s(<2 x i16> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z26_cl_convert_ulong3_sat_rtzDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z22convert_ulong3_sat_rtzDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z26_cl_convert_ulong3_sat_rtzDv3_s(<3 x i16> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z26_cl_convert_ulong4_sat_rtzDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z22convert_ulong4_sat_rtzDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z26_cl_convert_ulong4_sat_rtzDv4_s(<4 x i16> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z26_cl_convert_ulong8_sat_rtzDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z22convert_ulong8_sat_rtzDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z26_cl_convert_ulong8_sat_rtzDv8_s(<8 x i16> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z27_cl_convert_ulong16_sat_rtzDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z23convert_ulong16_sat_rtzDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z27_cl_convert_ulong16_sat_rtzDv16_s(<16 x i16> %a)
  ret <16 x i64> %call
}


declare i64 @_Z17_cl_convert_ulongt(i16) local_unnamed_addr #0

define spir_func i64 @_Z13convert_ulongt(i16 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z17_cl_convert_ulongt(i16 %a)
  ret i64 %call
}


declare <2 x i64> @_Z18_cl_convert_ulong2Dv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z14convert_ulong2Dv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z18_cl_convert_ulong2Dv2_t(<2 x i16> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z18_cl_convert_ulong3Dv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z14convert_ulong3Dv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z18_cl_convert_ulong3Dv3_t(<3 x i16> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z18_cl_convert_ulong4Dv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z14convert_ulong4Dv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z18_cl_convert_ulong4Dv4_t(<4 x i16> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z18_cl_convert_ulong8Dv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z14convert_ulong8Dv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z18_cl_convert_ulong8Dv8_t(<8 x i16> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z19_cl_convert_ulong16Dv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z15convert_ulong16Dv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z19_cl_convert_ulong16Dv16_t(<16 x i16> %a)
  ret <16 x i64> %call
}


declare i64 @_Z21_cl_convert_ulong_rtpt(i16) local_unnamed_addr #0

define spir_func i64 @_Z17convert_ulong_rtpt(i16 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z21_cl_convert_ulong_rtpt(i16 %a)
  ret i64 %call
}


declare <2 x i64> @_Z22_cl_convert_ulong2_rtpDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z18convert_ulong2_rtpDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z22_cl_convert_ulong2_rtpDv2_t(<2 x i16> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z22_cl_convert_ulong3_rtpDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z18convert_ulong3_rtpDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z22_cl_convert_ulong3_rtpDv3_t(<3 x i16> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z22_cl_convert_ulong4_rtpDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z18convert_ulong4_rtpDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z22_cl_convert_ulong4_rtpDv4_t(<4 x i16> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z22_cl_convert_ulong8_rtpDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z18convert_ulong8_rtpDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z22_cl_convert_ulong8_rtpDv8_t(<8 x i16> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z23_cl_convert_ulong16_rtpDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z19convert_ulong16_rtpDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z23_cl_convert_ulong16_rtpDv16_t(<16 x i16> %a)
  ret <16 x i64> %call
}


declare i64 @_Z21_cl_convert_ulong_rtnt(i16) local_unnamed_addr #0

define spir_func i64 @_Z17convert_ulong_rtnt(i16 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z21_cl_convert_ulong_rtnt(i16 %a)
  ret i64 %call
}


declare <2 x i64> @_Z22_cl_convert_ulong2_rtnDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z18convert_ulong2_rtnDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z22_cl_convert_ulong2_rtnDv2_t(<2 x i16> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z22_cl_convert_ulong3_rtnDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z18convert_ulong3_rtnDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z22_cl_convert_ulong3_rtnDv3_t(<3 x i16> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z22_cl_convert_ulong4_rtnDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z18convert_ulong4_rtnDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z22_cl_convert_ulong4_rtnDv4_t(<4 x i16> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z22_cl_convert_ulong8_rtnDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z18convert_ulong8_rtnDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z22_cl_convert_ulong8_rtnDv8_t(<8 x i16> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z23_cl_convert_ulong16_rtnDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z19convert_ulong16_rtnDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z23_cl_convert_ulong16_rtnDv16_t(<16 x i16> %a)
  ret <16 x i64> %call
}


declare i64 @_Z21_cl_convert_ulong_rtet(i16) local_unnamed_addr #0

define spir_func i64 @_Z17convert_ulong_rtet(i16 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z21_cl_convert_ulong_rtet(i16 %a)
  ret i64 %call
}


declare <2 x i64> @_Z22_cl_convert_ulong2_rteDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z18convert_ulong2_rteDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z22_cl_convert_ulong2_rteDv2_t(<2 x i16> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z22_cl_convert_ulong3_rteDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z18convert_ulong3_rteDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z22_cl_convert_ulong3_rteDv3_t(<3 x i16> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z22_cl_convert_ulong4_rteDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z18convert_ulong4_rteDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z22_cl_convert_ulong4_rteDv4_t(<4 x i16> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z22_cl_convert_ulong8_rteDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z18convert_ulong8_rteDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z22_cl_convert_ulong8_rteDv8_t(<8 x i16> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z23_cl_convert_ulong16_rteDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z19convert_ulong16_rteDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z23_cl_convert_ulong16_rteDv16_t(<16 x i16> %a)
  ret <16 x i64> %call
}


declare i64 @_Z21_cl_convert_ulong_rtzt(i16) local_unnamed_addr #0

define spir_func i64 @_Z17convert_ulong_rtzt(i16 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z21_cl_convert_ulong_rtzt(i16 %a)
  ret i64 %call
}


declare <2 x i64> @_Z22_cl_convert_ulong2_rtzDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z18convert_ulong2_rtzDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z22_cl_convert_ulong2_rtzDv2_t(<2 x i16> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z22_cl_convert_ulong3_rtzDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z18convert_ulong3_rtzDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z22_cl_convert_ulong3_rtzDv3_t(<3 x i16> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z22_cl_convert_ulong4_rtzDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z18convert_ulong4_rtzDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z22_cl_convert_ulong4_rtzDv4_t(<4 x i16> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z22_cl_convert_ulong8_rtzDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z18convert_ulong8_rtzDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z22_cl_convert_ulong8_rtzDv8_t(<8 x i16> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z23_cl_convert_ulong16_rtzDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z19convert_ulong16_rtzDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z23_cl_convert_ulong16_rtzDv16_t(<16 x i16> %a)
  ret <16 x i64> %call
}


declare i64 @_Z21_cl_convert_ulong_satt(i16) local_unnamed_addr #0

define spir_func i64 @_Z17convert_ulong_satt(i16 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z21_cl_convert_ulong_satt(i16 %a)
  ret i64 %call
}


declare <2 x i64> @_Z22_cl_convert_ulong2_satDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z18convert_ulong2_satDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z22_cl_convert_ulong2_satDv2_t(<2 x i16> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z22_cl_convert_ulong3_satDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z18convert_ulong3_satDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z22_cl_convert_ulong3_satDv3_t(<3 x i16> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z22_cl_convert_ulong4_satDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z18convert_ulong4_satDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z22_cl_convert_ulong4_satDv4_t(<4 x i16> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z22_cl_convert_ulong8_satDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z18convert_ulong8_satDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z22_cl_convert_ulong8_satDv8_t(<8 x i16> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z23_cl_convert_ulong16_satDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z19convert_ulong16_satDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z23_cl_convert_ulong16_satDv16_t(<16 x i16> %a)
  ret <16 x i64> %call
}


declare i64 @_Z25_cl_convert_ulong_sat_rtpt(i16) local_unnamed_addr #0

define spir_func i64 @_Z21convert_ulong_sat_rtpt(i16 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z25_cl_convert_ulong_sat_rtpt(i16 %a)
  ret i64 %call
}


declare <2 x i64> @_Z26_cl_convert_ulong2_sat_rtpDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z22convert_ulong2_sat_rtpDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z26_cl_convert_ulong2_sat_rtpDv2_t(<2 x i16> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z26_cl_convert_ulong3_sat_rtpDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z22convert_ulong3_sat_rtpDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z26_cl_convert_ulong3_sat_rtpDv3_t(<3 x i16> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z26_cl_convert_ulong4_sat_rtpDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z22convert_ulong4_sat_rtpDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z26_cl_convert_ulong4_sat_rtpDv4_t(<4 x i16> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z26_cl_convert_ulong8_sat_rtpDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z22convert_ulong8_sat_rtpDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z26_cl_convert_ulong8_sat_rtpDv8_t(<8 x i16> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z27_cl_convert_ulong16_sat_rtpDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z23convert_ulong16_sat_rtpDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z27_cl_convert_ulong16_sat_rtpDv16_t(<16 x i16> %a)
  ret <16 x i64> %call
}


declare i64 @_Z25_cl_convert_ulong_sat_rtnt(i16) local_unnamed_addr #0

define spir_func i64 @_Z21convert_ulong_sat_rtnt(i16 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z25_cl_convert_ulong_sat_rtnt(i16 %a)
  ret i64 %call
}


declare <2 x i64> @_Z26_cl_convert_ulong2_sat_rtnDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z22convert_ulong2_sat_rtnDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z26_cl_convert_ulong2_sat_rtnDv2_t(<2 x i16> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z26_cl_convert_ulong3_sat_rtnDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z22convert_ulong3_sat_rtnDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z26_cl_convert_ulong3_sat_rtnDv3_t(<3 x i16> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z26_cl_convert_ulong4_sat_rtnDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z22convert_ulong4_sat_rtnDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z26_cl_convert_ulong4_sat_rtnDv4_t(<4 x i16> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z26_cl_convert_ulong8_sat_rtnDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z22convert_ulong8_sat_rtnDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z26_cl_convert_ulong8_sat_rtnDv8_t(<8 x i16> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z27_cl_convert_ulong16_sat_rtnDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z23convert_ulong16_sat_rtnDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z27_cl_convert_ulong16_sat_rtnDv16_t(<16 x i16> %a)
  ret <16 x i64> %call
}


declare i64 @_Z25_cl_convert_ulong_sat_rtet(i16) local_unnamed_addr #0

define spir_func i64 @_Z21convert_ulong_sat_rtet(i16 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z25_cl_convert_ulong_sat_rtet(i16 %a)
  ret i64 %call
}


declare <2 x i64> @_Z26_cl_convert_ulong2_sat_rteDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z22convert_ulong2_sat_rteDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z26_cl_convert_ulong2_sat_rteDv2_t(<2 x i16> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z26_cl_convert_ulong3_sat_rteDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z22convert_ulong3_sat_rteDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z26_cl_convert_ulong3_sat_rteDv3_t(<3 x i16> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z26_cl_convert_ulong4_sat_rteDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z22convert_ulong4_sat_rteDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z26_cl_convert_ulong4_sat_rteDv4_t(<4 x i16> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z26_cl_convert_ulong8_sat_rteDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z22convert_ulong8_sat_rteDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z26_cl_convert_ulong8_sat_rteDv8_t(<8 x i16> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z27_cl_convert_ulong16_sat_rteDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z23convert_ulong16_sat_rteDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z27_cl_convert_ulong16_sat_rteDv16_t(<16 x i16> %a)
  ret <16 x i64> %call
}


declare i64 @_Z25_cl_convert_ulong_sat_rtzt(i16) local_unnamed_addr #0

define spir_func i64 @_Z21convert_ulong_sat_rtzt(i16 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z25_cl_convert_ulong_sat_rtzt(i16 %a)
  ret i64 %call
}


declare <2 x i64> @_Z26_cl_convert_ulong2_sat_rtzDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z22convert_ulong2_sat_rtzDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z26_cl_convert_ulong2_sat_rtzDv2_t(<2 x i16> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z26_cl_convert_ulong3_sat_rtzDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z22convert_ulong3_sat_rtzDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z26_cl_convert_ulong3_sat_rtzDv3_t(<3 x i16> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z26_cl_convert_ulong4_sat_rtzDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z22convert_ulong4_sat_rtzDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z26_cl_convert_ulong4_sat_rtzDv4_t(<4 x i16> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z26_cl_convert_ulong8_sat_rtzDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z22convert_ulong8_sat_rtzDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z26_cl_convert_ulong8_sat_rtzDv8_t(<8 x i16> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z27_cl_convert_ulong16_sat_rtzDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z23convert_ulong16_sat_rtzDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z27_cl_convert_ulong16_sat_rtzDv16_t(<16 x i16> %a)
  ret <16 x i64> %call
}


declare i64 @_Z17_cl_convert_ulongi(i32) local_unnamed_addr #0

define spir_func i64 @_Z13convert_ulongi(i32 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z17_cl_convert_ulongi(i32 %a)
  ret i64 %call
}


declare <2 x i64> @_Z18_cl_convert_ulong2Dv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z14convert_ulong2Dv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z18_cl_convert_ulong2Dv2_i(<2 x i32> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z18_cl_convert_ulong3Dv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z14convert_ulong3Dv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z18_cl_convert_ulong3Dv3_i(<3 x i32> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z18_cl_convert_ulong4Dv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z14convert_ulong4Dv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z18_cl_convert_ulong4Dv4_i(<4 x i32> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z18_cl_convert_ulong8Dv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z14convert_ulong8Dv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z18_cl_convert_ulong8Dv8_i(<8 x i32> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z19_cl_convert_ulong16Dv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z15convert_ulong16Dv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z19_cl_convert_ulong16Dv16_i(<16 x i32> %a)
  ret <16 x i64> %call
}


declare i64 @_Z21_cl_convert_ulong_rtpi(i32) local_unnamed_addr #0

define spir_func i64 @_Z17convert_ulong_rtpi(i32 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z21_cl_convert_ulong_rtpi(i32 %a)
  ret i64 %call
}


declare <2 x i64> @_Z22_cl_convert_ulong2_rtpDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z18convert_ulong2_rtpDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z22_cl_convert_ulong2_rtpDv2_i(<2 x i32> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z22_cl_convert_ulong3_rtpDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z18convert_ulong3_rtpDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z22_cl_convert_ulong3_rtpDv3_i(<3 x i32> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z22_cl_convert_ulong4_rtpDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z18convert_ulong4_rtpDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z22_cl_convert_ulong4_rtpDv4_i(<4 x i32> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z22_cl_convert_ulong8_rtpDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z18convert_ulong8_rtpDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z22_cl_convert_ulong8_rtpDv8_i(<8 x i32> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z23_cl_convert_ulong16_rtpDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z19convert_ulong16_rtpDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z23_cl_convert_ulong16_rtpDv16_i(<16 x i32> %a)
  ret <16 x i64> %call
}


declare i64 @_Z21_cl_convert_ulong_rtni(i32) local_unnamed_addr #0

define spir_func i64 @_Z17convert_ulong_rtni(i32 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z21_cl_convert_ulong_rtni(i32 %a)
  ret i64 %call
}


declare <2 x i64> @_Z22_cl_convert_ulong2_rtnDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z18convert_ulong2_rtnDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z22_cl_convert_ulong2_rtnDv2_i(<2 x i32> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z22_cl_convert_ulong3_rtnDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z18convert_ulong3_rtnDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z22_cl_convert_ulong3_rtnDv3_i(<3 x i32> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z22_cl_convert_ulong4_rtnDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z18convert_ulong4_rtnDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z22_cl_convert_ulong4_rtnDv4_i(<4 x i32> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z22_cl_convert_ulong8_rtnDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z18convert_ulong8_rtnDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z22_cl_convert_ulong8_rtnDv8_i(<8 x i32> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z23_cl_convert_ulong16_rtnDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z19convert_ulong16_rtnDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z23_cl_convert_ulong16_rtnDv16_i(<16 x i32> %a)
  ret <16 x i64> %call
}


declare i64 @_Z21_cl_convert_ulong_rtei(i32) local_unnamed_addr #0

define spir_func i64 @_Z17convert_ulong_rtei(i32 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z21_cl_convert_ulong_rtei(i32 %a)
  ret i64 %call
}


declare <2 x i64> @_Z22_cl_convert_ulong2_rteDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z18convert_ulong2_rteDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z22_cl_convert_ulong2_rteDv2_i(<2 x i32> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z22_cl_convert_ulong3_rteDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z18convert_ulong3_rteDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z22_cl_convert_ulong3_rteDv3_i(<3 x i32> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z22_cl_convert_ulong4_rteDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z18convert_ulong4_rteDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z22_cl_convert_ulong4_rteDv4_i(<4 x i32> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z22_cl_convert_ulong8_rteDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z18convert_ulong8_rteDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z22_cl_convert_ulong8_rteDv8_i(<8 x i32> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z23_cl_convert_ulong16_rteDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z19convert_ulong16_rteDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z23_cl_convert_ulong16_rteDv16_i(<16 x i32> %a)
  ret <16 x i64> %call
}


declare i64 @_Z21_cl_convert_ulong_rtzi(i32) local_unnamed_addr #0

define spir_func i64 @_Z17convert_ulong_rtzi(i32 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z21_cl_convert_ulong_rtzi(i32 %a)
  ret i64 %call
}


declare <2 x i64> @_Z22_cl_convert_ulong2_rtzDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z18convert_ulong2_rtzDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z22_cl_convert_ulong2_rtzDv2_i(<2 x i32> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z22_cl_convert_ulong3_rtzDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z18convert_ulong3_rtzDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z22_cl_convert_ulong3_rtzDv3_i(<3 x i32> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z22_cl_convert_ulong4_rtzDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z18convert_ulong4_rtzDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z22_cl_convert_ulong4_rtzDv4_i(<4 x i32> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z22_cl_convert_ulong8_rtzDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z18convert_ulong8_rtzDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z22_cl_convert_ulong8_rtzDv8_i(<8 x i32> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z23_cl_convert_ulong16_rtzDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z19convert_ulong16_rtzDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z23_cl_convert_ulong16_rtzDv16_i(<16 x i32> %a)
  ret <16 x i64> %call
}


declare i64 @_Z21_cl_convert_ulong_sati(i32) local_unnamed_addr #0

define spir_func i64 @_Z17convert_ulong_sati(i32 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z21_cl_convert_ulong_sati(i32 %a)
  ret i64 %call
}


declare <2 x i64> @_Z22_cl_convert_ulong2_satDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z18convert_ulong2_satDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z22_cl_convert_ulong2_satDv2_i(<2 x i32> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z22_cl_convert_ulong3_satDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z18convert_ulong3_satDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z22_cl_convert_ulong3_satDv3_i(<3 x i32> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z22_cl_convert_ulong4_satDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z18convert_ulong4_satDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z22_cl_convert_ulong4_satDv4_i(<4 x i32> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z22_cl_convert_ulong8_satDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z18convert_ulong8_satDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z22_cl_convert_ulong8_satDv8_i(<8 x i32> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z23_cl_convert_ulong16_satDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z19convert_ulong16_satDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z23_cl_convert_ulong16_satDv16_i(<16 x i32> %a)
  ret <16 x i64> %call
}


declare i64 @_Z25_cl_convert_ulong_sat_rtpi(i32) local_unnamed_addr #0

define spir_func i64 @_Z21convert_ulong_sat_rtpi(i32 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z25_cl_convert_ulong_sat_rtpi(i32 %a)
  ret i64 %call
}


declare <2 x i64> @_Z26_cl_convert_ulong2_sat_rtpDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z22convert_ulong2_sat_rtpDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z26_cl_convert_ulong2_sat_rtpDv2_i(<2 x i32> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z26_cl_convert_ulong3_sat_rtpDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z22convert_ulong3_sat_rtpDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z26_cl_convert_ulong3_sat_rtpDv3_i(<3 x i32> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z26_cl_convert_ulong4_sat_rtpDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z22convert_ulong4_sat_rtpDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z26_cl_convert_ulong4_sat_rtpDv4_i(<4 x i32> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z26_cl_convert_ulong8_sat_rtpDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z22convert_ulong8_sat_rtpDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z26_cl_convert_ulong8_sat_rtpDv8_i(<8 x i32> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z27_cl_convert_ulong16_sat_rtpDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z23convert_ulong16_sat_rtpDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z27_cl_convert_ulong16_sat_rtpDv16_i(<16 x i32> %a)
  ret <16 x i64> %call
}


declare i64 @_Z25_cl_convert_ulong_sat_rtni(i32) local_unnamed_addr #0

define spir_func i64 @_Z21convert_ulong_sat_rtni(i32 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z25_cl_convert_ulong_sat_rtni(i32 %a)
  ret i64 %call
}


declare <2 x i64> @_Z26_cl_convert_ulong2_sat_rtnDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z22convert_ulong2_sat_rtnDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z26_cl_convert_ulong2_sat_rtnDv2_i(<2 x i32> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z26_cl_convert_ulong3_sat_rtnDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z22convert_ulong3_sat_rtnDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z26_cl_convert_ulong3_sat_rtnDv3_i(<3 x i32> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z26_cl_convert_ulong4_sat_rtnDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z22convert_ulong4_sat_rtnDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z26_cl_convert_ulong4_sat_rtnDv4_i(<4 x i32> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z26_cl_convert_ulong8_sat_rtnDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z22convert_ulong8_sat_rtnDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z26_cl_convert_ulong8_sat_rtnDv8_i(<8 x i32> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z27_cl_convert_ulong16_sat_rtnDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z23convert_ulong16_sat_rtnDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z27_cl_convert_ulong16_sat_rtnDv16_i(<16 x i32> %a)
  ret <16 x i64> %call
}


declare i64 @_Z25_cl_convert_ulong_sat_rtei(i32) local_unnamed_addr #0

define spir_func i64 @_Z21convert_ulong_sat_rtei(i32 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z25_cl_convert_ulong_sat_rtei(i32 %a)
  ret i64 %call
}


declare <2 x i64> @_Z26_cl_convert_ulong2_sat_rteDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z22convert_ulong2_sat_rteDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z26_cl_convert_ulong2_sat_rteDv2_i(<2 x i32> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z26_cl_convert_ulong3_sat_rteDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z22convert_ulong3_sat_rteDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z26_cl_convert_ulong3_sat_rteDv3_i(<3 x i32> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z26_cl_convert_ulong4_sat_rteDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z22convert_ulong4_sat_rteDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z26_cl_convert_ulong4_sat_rteDv4_i(<4 x i32> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z26_cl_convert_ulong8_sat_rteDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z22convert_ulong8_sat_rteDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z26_cl_convert_ulong8_sat_rteDv8_i(<8 x i32> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z27_cl_convert_ulong16_sat_rteDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z23convert_ulong16_sat_rteDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z27_cl_convert_ulong16_sat_rteDv16_i(<16 x i32> %a)
  ret <16 x i64> %call
}


declare i64 @_Z25_cl_convert_ulong_sat_rtzi(i32) local_unnamed_addr #0

define spir_func i64 @_Z21convert_ulong_sat_rtzi(i32 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z25_cl_convert_ulong_sat_rtzi(i32 %a)
  ret i64 %call
}


declare <2 x i64> @_Z26_cl_convert_ulong2_sat_rtzDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z22convert_ulong2_sat_rtzDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z26_cl_convert_ulong2_sat_rtzDv2_i(<2 x i32> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z26_cl_convert_ulong3_sat_rtzDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z22convert_ulong3_sat_rtzDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z26_cl_convert_ulong3_sat_rtzDv3_i(<3 x i32> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z26_cl_convert_ulong4_sat_rtzDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z22convert_ulong4_sat_rtzDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z26_cl_convert_ulong4_sat_rtzDv4_i(<4 x i32> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z26_cl_convert_ulong8_sat_rtzDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z22convert_ulong8_sat_rtzDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z26_cl_convert_ulong8_sat_rtzDv8_i(<8 x i32> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z27_cl_convert_ulong16_sat_rtzDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z23convert_ulong16_sat_rtzDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z27_cl_convert_ulong16_sat_rtzDv16_i(<16 x i32> %a)
  ret <16 x i64> %call
}


declare i64 @_Z17_cl_convert_ulongj(i32) local_unnamed_addr #0

define spir_func i64 @_Z13convert_ulongj(i32 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z17_cl_convert_ulongj(i32 %a)
  ret i64 %call
}


declare <2 x i64> @_Z18_cl_convert_ulong2Dv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z14convert_ulong2Dv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z18_cl_convert_ulong2Dv2_j(<2 x i32> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z18_cl_convert_ulong3Dv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z14convert_ulong3Dv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z18_cl_convert_ulong3Dv3_j(<3 x i32> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z18_cl_convert_ulong4Dv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z14convert_ulong4Dv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z18_cl_convert_ulong4Dv4_j(<4 x i32> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z18_cl_convert_ulong8Dv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z14convert_ulong8Dv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z18_cl_convert_ulong8Dv8_j(<8 x i32> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z19_cl_convert_ulong16Dv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z15convert_ulong16Dv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z19_cl_convert_ulong16Dv16_j(<16 x i32> %a)
  ret <16 x i64> %call
}


declare i64 @_Z21_cl_convert_ulong_rtpj(i32) local_unnamed_addr #0

define spir_func i64 @_Z17convert_ulong_rtpj(i32 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z21_cl_convert_ulong_rtpj(i32 %a)
  ret i64 %call
}


declare <2 x i64> @_Z22_cl_convert_ulong2_rtpDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z18convert_ulong2_rtpDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z22_cl_convert_ulong2_rtpDv2_j(<2 x i32> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z22_cl_convert_ulong3_rtpDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z18convert_ulong3_rtpDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z22_cl_convert_ulong3_rtpDv3_j(<3 x i32> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z22_cl_convert_ulong4_rtpDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z18convert_ulong4_rtpDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z22_cl_convert_ulong4_rtpDv4_j(<4 x i32> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z22_cl_convert_ulong8_rtpDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z18convert_ulong8_rtpDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z22_cl_convert_ulong8_rtpDv8_j(<8 x i32> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z23_cl_convert_ulong16_rtpDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z19convert_ulong16_rtpDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z23_cl_convert_ulong16_rtpDv16_j(<16 x i32> %a)
  ret <16 x i64> %call
}


declare i64 @_Z21_cl_convert_ulong_rtnj(i32) local_unnamed_addr #0

define spir_func i64 @_Z17convert_ulong_rtnj(i32 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z21_cl_convert_ulong_rtnj(i32 %a)
  ret i64 %call
}


declare <2 x i64> @_Z22_cl_convert_ulong2_rtnDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z18convert_ulong2_rtnDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z22_cl_convert_ulong2_rtnDv2_j(<2 x i32> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z22_cl_convert_ulong3_rtnDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z18convert_ulong3_rtnDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z22_cl_convert_ulong3_rtnDv3_j(<3 x i32> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z22_cl_convert_ulong4_rtnDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z18convert_ulong4_rtnDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z22_cl_convert_ulong4_rtnDv4_j(<4 x i32> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z22_cl_convert_ulong8_rtnDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z18convert_ulong8_rtnDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z22_cl_convert_ulong8_rtnDv8_j(<8 x i32> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z23_cl_convert_ulong16_rtnDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z19convert_ulong16_rtnDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z23_cl_convert_ulong16_rtnDv16_j(<16 x i32> %a)
  ret <16 x i64> %call
}


declare i64 @_Z21_cl_convert_ulong_rtej(i32) local_unnamed_addr #0

define spir_func i64 @_Z17convert_ulong_rtej(i32 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z21_cl_convert_ulong_rtej(i32 %a)
  ret i64 %call
}


declare <2 x i64> @_Z22_cl_convert_ulong2_rteDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z18convert_ulong2_rteDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z22_cl_convert_ulong2_rteDv2_j(<2 x i32> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z22_cl_convert_ulong3_rteDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z18convert_ulong3_rteDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z22_cl_convert_ulong3_rteDv3_j(<3 x i32> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z22_cl_convert_ulong4_rteDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z18convert_ulong4_rteDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z22_cl_convert_ulong4_rteDv4_j(<4 x i32> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z22_cl_convert_ulong8_rteDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z18convert_ulong8_rteDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z22_cl_convert_ulong8_rteDv8_j(<8 x i32> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z23_cl_convert_ulong16_rteDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z19convert_ulong16_rteDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z23_cl_convert_ulong16_rteDv16_j(<16 x i32> %a)
  ret <16 x i64> %call
}


declare i64 @_Z21_cl_convert_ulong_rtzj(i32) local_unnamed_addr #0

define spir_func i64 @_Z17convert_ulong_rtzj(i32 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z21_cl_convert_ulong_rtzj(i32 %a)
  ret i64 %call
}


declare <2 x i64> @_Z22_cl_convert_ulong2_rtzDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z18convert_ulong2_rtzDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z22_cl_convert_ulong2_rtzDv2_j(<2 x i32> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z22_cl_convert_ulong3_rtzDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z18convert_ulong3_rtzDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z22_cl_convert_ulong3_rtzDv3_j(<3 x i32> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z22_cl_convert_ulong4_rtzDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z18convert_ulong4_rtzDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z22_cl_convert_ulong4_rtzDv4_j(<4 x i32> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z22_cl_convert_ulong8_rtzDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z18convert_ulong8_rtzDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z22_cl_convert_ulong8_rtzDv8_j(<8 x i32> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z23_cl_convert_ulong16_rtzDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z19convert_ulong16_rtzDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z23_cl_convert_ulong16_rtzDv16_j(<16 x i32> %a)
  ret <16 x i64> %call
}


declare i64 @_Z21_cl_convert_ulong_satj(i32) local_unnamed_addr #0

define spir_func i64 @_Z17convert_ulong_satj(i32 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z21_cl_convert_ulong_satj(i32 %a)
  ret i64 %call
}


declare <2 x i64> @_Z22_cl_convert_ulong2_satDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z18convert_ulong2_satDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z22_cl_convert_ulong2_satDv2_j(<2 x i32> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z22_cl_convert_ulong3_satDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z18convert_ulong3_satDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z22_cl_convert_ulong3_satDv3_j(<3 x i32> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z22_cl_convert_ulong4_satDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z18convert_ulong4_satDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z22_cl_convert_ulong4_satDv4_j(<4 x i32> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z22_cl_convert_ulong8_satDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z18convert_ulong8_satDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z22_cl_convert_ulong8_satDv8_j(<8 x i32> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z23_cl_convert_ulong16_satDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z19convert_ulong16_satDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z23_cl_convert_ulong16_satDv16_j(<16 x i32> %a)
  ret <16 x i64> %call
}


declare i64 @_Z25_cl_convert_ulong_sat_rtpj(i32) local_unnamed_addr #0

define spir_func i64 @_Z21convert_ulong_sat_rtpj(i32 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z25_cl_convert_ulong_sat_rtpj(i32 %a)
  ret i64 %call
}


declare <2 x i64> @_Z26_cl_convert_ulong2_sat_rtpDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z22convert_ulong2_sat_rtpDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z26_cl_convert_ulong2_sat_rtpDv2_j(<2 x i32> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z26_cl_convert_ulong3_sat_rtpDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z22convert_ulong3_sat_rtpDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z26_cl_convert_ulong3_sat_rtpDv3_j(<3 x i32> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z26_cl_convert_ulong4_sat_rtpDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z22convert_ulong4_sat_rtpDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z26_cl_convert_ulong4_sat_rtpDv4_j(<4 x i32> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z26_cl_convert_ulong8_sat_rtpDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z22convert_ulong8_sat_rtpDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z26_cl_convert_ulong8_sat_rtpDv8_j(<8 x i32> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z27_cl_convert_ulong16_sat_rtpDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z23convert_ulong16_sat_rtpDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z27_cl_convert_ulong16_sat_rtpDv16_j(<16 x i32> %a)
  ret <16 x i64> %call
}


declare i64 @_Z25_cl_convert_ulong_sat_rtnj(i32) local_unnamed_addr #0

define spir_func i64 @_Z21convert_ulong_sat_rtnj(i32 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z25_cl_convert_ulong_sat_rtnj(i32 %a)
  ret i64 %call
}


declare <2 x i64> @_Z26_cl_convert_ulong2_sat_rtnDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z22convert_ulong2_sat_rtnDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z26_cl_convert_ulong2_sat_rtnDv2_j(<2 x i32> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z26_cl_convert_ulong3_sat_rtnDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z22convert_ulong3_sat_rtnDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z26_cl_convert_ulong3_sat_rtnDv3_j(<3 x i32> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z26_cl_convert_ulong4_sat_rtnDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z22convert_ulong4_sat_rtnDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z26_cl_convert_ulong4_sat_rtnDv4_j(<4 x i32> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z26_cl_convert_ulong8_sat_rtnDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z22convert_ulong8_sat_rtnDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z26_cl_convert_ulong8_sat_rtnDv8_j(<8 x i32> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z27_cl_convert_ulong16_sat_rtnDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z23convert_ulong16_sat_rtnDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z27_cl_convert_ulong16_sat_rtnDv16_j(<16 x i32> %a)
  ret <16 x i64> %call
}


declare i64 @_Z25_cl_convert_ulong_sat_rtej(i32) local_unnamed_addr #0

define spir_func i64 @_Z21convert_ulong_sat_rtej(i32 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z25_cl_convert_ulong_sat_rtej(i32 %a)
  ret i64 %call
}


declare <2 x i64> @_Z26_cl_convert_ulong2_sat_rteDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z22convert_ulong2_sat_rteDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z26_cl_convert_ulong2_sat_rteDv2_j(<2 x i32> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z26_cl_convert_ulong3_sat_rteDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z22convert_ulong3_sat_rteDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z26_cl_convert_ulong3_sat_rteDv3_j(<3 x i32> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z26_cl_convert_ulong4_sat_rteDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z22convert_ulong4_sat_rteDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z26_cl_convert_ulong4_sat_rteDv4_j(<4 x i32> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z26_cl_convert_ulong8_sat_rteDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z22convert_ulong8_sat_rteDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z26_cl_convert_ulong8_sat_rteDv8_j(<8 x i32> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z27_cl_convert_ulong16_sat_rteDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z23convert_ulong16_sat_rteDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z27_cl_convert_ulong16_sat_rteDv16_j(<16 x i32> %a)
  ret <16 x i64> %call
}


declare i64 @_Z25_cl_convert_ulong_sat_rtzj(i32) local_unnamed_addr #0

define spir_func i64 @_Z21convert_ulong_sat_rtzj(i32 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z25_cl_convert_ulong_sat_rtzj(i32 %a)
  ret i64 %call
}


declare <2 x i64> @_Z26_cl_convert_ulong2_sat_rtzDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z22convert_ulong2_sat_rtzDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z26_cl_convert_ulong2_sat_rtzDv2_j(<2 x i32> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z26_cl_convert_ulong3_sat_rtzDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z22convert_ulong3_sat_rtzDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z26_cl_convert_ulong3_sat_rtzDv3_j(<3 x i32> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z26_cl_convert_ulong4_sat_rtzDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z22convert_ulong4_sat_rtzDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z26_cl_convert_ulong4_sat_rtzDv4_j(<4 x i32> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z26_cl_convert_ulong8_sat_rtzDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z22convert_ulong8_sat_rtzDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z26_cl_convert_ulong8_sat_rtzDv8_j(<8 x i32> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z27_cl_convert_ulong16_sat_rtzDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z23convert_ulong16_sat_rtzDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z27_cl_convert_ulong16_sat_rtzDv16_j(<16 x i32> %a)
  ret <16 x i64> %call
}


declare i64 @_Z17_cl_convert_ulongl(i64) local_unnamed_addr #0

define spir_func i64 @_Z13convert_ulongl(i64 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z17_cl_convert_ulongl(i64 %a)
  ret i64 %call
}


declare <2 x i64> @_Z18_cl_convert_ulong2Dv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z14convert_ulong2Dv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z18_cl_convert_ulong2Dv2_l(<2 x i64> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z18_cl_convert_ulong3Dv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z14convert_ulong3Dv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z18_cl_convert_ulong3Dv3_l(<3 x i64> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z18_cl_convert_ulong4Dv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z14convert_ulong4Dv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z18_cl_convert_ulong4Dv4_l(<4 x i64> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z18_cl_convert_ulong8Dv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z14convert_ulong8Dv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z18_cl_convert_ulong8Dv8_l(<8 x i64> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z19_cl_convert_ulong16Dv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z15convert_ulong16Dv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z19_cl_convert_ulong16Dv16_l(<16 x i64> %a)
  ret <16 x i64> %call
}


declare i64 @_Z21_cl_convert_ulong_rtpl(i64) local_unnamed_addr #0

define spir_func i64 @_Z17convert_ulong_rtpl(i64 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z21_cl_convert_ulong_rtpl(i64 %a)
  ret i64 %call
}


declare <2 x i64> @_Z22_cl_convert_ulong2_rtpDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z18convert_ulong2_rtpDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z22_cl_convert_ulong2_rtpDv2_l(<2 x i64> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z22_cl_convert_ulong3_rtpDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z18convert_ulong3_rtpDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z22_cl_convert_ulong3_rtpDv3_l(<3 x i64> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z22_cl_convert_ulong4_rtpDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z18convert_ulong4_rtpDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z22_cl_convert_ulong4_rtpDv4_l(<4 x i64> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z22_cl_convert_ulong8_rtpDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z18convert_ulong8_rtpDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z22_cl_convert_ulong8_rtpDv8_l(<8 x i64> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z23_cl_convert_ulong16_rtpDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z19convert_ulong16_rtpDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z23_cl_convert_ulong16_rtpDv16_l(<16 x i64> %a)
  ret <16 x i64> %call
}


declare i64 @_Z21_cl_convert_ulong_rtnl(i64) local_unnamed_addr #0

define spir_func i64 @_Z17convert_ulong_rtnl(i64 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z21_cl_convert_ulong_rtnl(i64 %a)
  ret i64 %call
}


declare <2 x i64> @_Z22_cl_convert_ulong2_rtnDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z18convert_ulong2_rtnDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z22_cl_convert_ulong2_rtnDv2_l(<2 x i64> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z22_cl_convert_ulong3_rtnDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z18convert_ulong3_rtnDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z22_cl_convert_ulong3_rtnDv3_l(<3 x i64> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z22_cl_convert_ulong4_rtnDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z18convert_ulong4_rtnDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z22_cl_convert_ulong4_rtnDv4_l(<4 x i64> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z22_cl_convert_ulong8_rtnDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z18convert_ulong8_rtnDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z22_cl_convert_ulong8_rtnDv8_l(<8 x i64> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z23_cl_convert_ulong16_rtnDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z19convert_ulong16_rtnDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z23_cl_convert_ulong16_rtnDv16_l(<16 x i64> %a)
  ret <16 x i64> %call
}


declare i64 @_Z21_cl_convert_ulong_rtel(i64) local_unnamed_addr #0

define spir_func i64 @_Z17convert_ulong_rtel(i64 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z21_cl_convert_ulong_rtel(i64 %a)
  ret i64 %call
}


declare <2 x i64> @_Z22_cl_convert_ulong2_rteDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z18convert_ulong2_rteDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z22_cl_convert_ulong2_rteDv2_l(<2 x i64> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z22_cl_convert_ulong3_rteDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z18convert_ulong3_rteDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z22_cl_convert_ulong3_rteDv3_l(<3 x i64> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z22_cl_convert_ulong4_rteDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z18convert_ulong4_rteDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z22_cl_convert_ulong4_rteDv4_l(<4 x i64> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z22_cl_convert_ulong8_rteDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z18convert_ulong8_rteDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z22_cl_convert_ulong8_rteDv8_l(<8 x i64> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z23_cl_convert_ulong16_rteDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z19convert_ulong16_rteDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z23_cl_convert_ulong16_rteDv16_l(<16 x i64> %a)
  ret <16 x i64> %call
}


declare i64 @_Z21_cl_convert_ulong_rtzl(i64) local_unnamed_addr #0

define spir_func i64 @_Z17convert_ulong_rtzl(i64 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z21_cl_convert_ulong_rtzl(i64 %a)
  ret i64 %call
}


declare <2 x i64> @_Z22_cl_convert_ulong2_rtzDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z18convert_ulong2_rtzDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z22_cl_convert_ulong2_rtzDv2_l(<2 x i64> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z22_cl_convert_ulong3_rtzDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z18convert_ulong3_rtzDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z22_cl_convert_ulong3_rtzDv3_l(<3 x i64> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z22_cl_convert_ulong4_rtzDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z18convert_ulong4_rtzDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z22_cl_convert_ulong4_rtzDv4_l(<4 x i64> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z22_cl_convert_ulong8_rtzDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z18convert_ulong8_rtzDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z22_cl_convert_ulong8_rtzDv8_l(<8 x i64> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z23_cl_convert_ulong16_rtzDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z19convert_ulong16_rtzDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z23_cl_convert_ulong16_rtzDv16_l(<16 x i64> %a)
  ret <16 x i64> %call
}


declare i64 @_Z21_cl_convert_ulong_satl(i64) local_unnamed_addr #0

define spir_func i64 @_Z17convert_ulong_satl(i64 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z21_cl_convert_ulong_satl(i64 %a)
  ret i64 %call
}


declare <2 x i64> @_Z22_cl_convert_ulong2_satDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z18convert_ulong2_satDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z22_cl_convert_ulong2_satDv2_l(<2 x i64> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z22_cl_convert_ulong3_satDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z18convert_ulong3_satDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z22_cl_convert_ulong3_satDv3_l(<3 x i64> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z22_cl_convert_ulong4_satDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z18convert_ulong4_satDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z22_cl_convert_ulong4_satDv4_l(<4 x i64> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z22_cl_convert_ulong8_satDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z18convert_ulong8_satDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z22_cl_convert_ulong8_satDv8_l(<8 x i64> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z23_cl_convert_ulong16_satDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z19convert_ulong16_satDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z23_cl_convert_ulong16_satDv16_l(<16 x i64> %a)
  ret <16 x i64> %call
}


declare i64 @_Z25_cl_convert_ulong_sat_rtpl(i64) local_unnamed_addr #0

define spir_func i64 @_Z21convert_ulong_sat_rtpl(i64 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z25_cl_convert_ulong_sat_rtpl(i64 %a)
  ret i64 %call
}


declare <2 x i64> @_Z26_cl_convert_ulong2_sat_rtpDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z22convert_ulong2_sat_rtpDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z26_cl_convert_ulong2_sat_rtpDv2_l(<2 x i64> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z26_cl_convert_ulong3_sat_rtpDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z22convert_ulong3_sat_rtpDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z26_cl_convert_ulong3_sat_rtpDv3_l(<3 x i64> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z26_cl_convert_ulong4_sat_rtpDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z22convert_ulong4_sat_rtpDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z26_cl_convert_ulong4_sat_rtpDv4_l(<4 x i64> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z26_cl_convert_ulong8_sat_rtpDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z22convert_ulong8_sat_rtpDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z26_cl_convert_ulong8_sat_rtpDv8_l(<8 x i64> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z27_cl_convert_ulong16_sat_rtpDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z23convert_ulong16_sat_rtpDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z27_cl_convert_ulong16_sat_rtpDv16_l(<16 x i64> %a)
  ret <16 x i64> %call
}


declare i64 @_Z25_cl_convert_ulong_sat_rtnl(i64) local_unnamed_addr #0

define spir_func i64 @_Z21convert_ulong_sat_rtnl(i64 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z25_cl_convert_ulong_sat_rtnl(i64 %a)
  ret i64 %call
}


declare <2 x i64> @_Z26_cl_convert_ulong2_sat_rtnDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z22convert_ulong2_sat_rtnDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z26_cl_convert_ulong2_sat_rtnDv2_l(<2 x i64> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z26_cl_convert_ulong3_sat_rtnDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z22convert_ulong3_sat_rtnDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z26_cl_convert_ulong3_sat_rtnDv3_l(<3 x i64> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z26_cl_convert_ulong4_sat_rtnDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z22convert_ulong4_sat_rtnDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z26_cl_convert_ulong4_sat_rtnDv4_l(<4 x i64> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z26_cl_convert_ulong8_sat_rtnDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z22convert_ulong8_sat_rtnDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z26_cl_convert_ulong8_sat_rtnDv8_l(<8 x i64> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z27_cl_convert_ulong16_sat_rtnDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z23convert_ulong16_sat_rtnDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z27_cl_convert_ulong16_sat_rtnDv16_l(<16 x i64> %a)
  ret <16 x i64> %call
}


declare i64 @_Z25_cl_convert_ulong_sat_rtel(i64) local_unnamed_addr #0

define spir_func i64 @_Z21convert_ulong_sat_rtel(i64 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z25_cl_convert_ulong_sat_rtel(i64 %a)
  ret i64 %call
}


declare <2 x i64> @_Z26_cl_convert_ulong2_sat_rteDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z22convert_ulong2_sat_rteDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z26_cl_convert_ulong2_sat_rteDv2_l(<2 x i64> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z26_cl_convert_ulong3_sat_rteDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z22convert_ulong3_sat_rteDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z26_cl_convert_ulong3_sat_rteDv3_l(<3 x i64> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z26_cl_convert_ulong4_sat_rteDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z22convert_ulong4_sat_rteDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z26_cl_convert_ulong4_sat_rteDv4_l(<4 x i64> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z26_cl_convert_ulong8_sat_rteDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z22convert_ulong8_sat_rteDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z26_cl_convert_ulong8_sat_rteDv8_l(<8 x i64> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z27_cl_convert_ulong16_sat_rteDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z23convert_ulong16_sat_rteDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z27_cl_convert_ulong16_sat_rteDv16_l(<16 x i64> %a)
  ret <16 x i64> %call
}


declare i64 @_Z25_cl_convert_ulong_sat_rtzl(i64) local_unnamed_addr #0

define spir_func i64 @_Z21convert_ulong_sat_rtzl(i64 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z25_cl_convert_ulong_sat_rtzl(i64 %a)
  ret i64 %call
}


declare <2 x i64> @_Z26_cl_convert_ulong2_sat_rtzDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z22convert_ulong2_sat_rtzDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z26_cl_convert_ulong2_sat_rtzDv2_l(<2 x i64> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z26_cl_convert_ulong3_sat_rtzDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z22convert_ulong3_sat_rtzDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z26_cl_convert_ulong3_sat_rtzDv3_l(<3 x i64> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z26_cl_convert_ulong4_sat_rtzDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z22convert_ulong4_sat_rtzDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z26_cl_convert_ulong4_sat_rtzDv4_l(<4 x i64> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z26_cl_convert_ulong8_sat_rtzDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z22convert_ulong8_sat_rtzDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z26_cl_convert_ulong8_sat_rtzDv8_l(<8 x i64> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z27_cl_convert_ulong16_sat_rtzDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z23convert_ulong16_sat_rtzDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z27_cl_convert_ulong16_sat_rtzDv16_l(<16 x i64> %a)
  ret <16 x i64> %call
}


declare i64 @_Z17_cl_convert_ulongm(i64) local_unnamed_addr #0

define spir_func i64 @_Z13convert_ulongm(i64 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z17_cl_convert_ulongm(i64 %a)
  ret i64 %call
}


declare <2 x i64> @_Z18_cl_convert_ulong2Dv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z14convert_ulong2Dv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z18_cl_convert_ulong2Dv2_m(<2 x i64> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z18_cl_convert_ulong3Dv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z14convert_ulong3Dv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z18_cl_convert_ulong3Dv3_m(<3 x i64> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z18_cl_convert_ulong4Dv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z14convert_ulong4Dv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z18_cl_convert_ulong4Dv4_m(<4 x i64> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z18_cl_convert_ulong8Dv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z14convert_ulong8Dv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z18_cl_convert_ulong8Dv8_m(<8 x i64> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z19_cl_convert_ulong16Dv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z15convert_ulong16Dv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z19_cl_convert_ulong16Dv16_m(<16 x i64> %a)
  ret <16 x i64> %call
}


declare i64 @_Z21_cl_convert_ulong_rtpm(i64) local_unnamed_addr #0

define spir_func i64 @_Z17convert_ulong_rtpm(i64 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z21_cl_convert_ulong_rtpm(i64 %a)
  ret i64 %call
}


declare <2 x i64> @_Z22_cl_convert_ulong2_rtpDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z18convert_ulong2_rtpDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z22_cl_convert_ulong2_rtpDv2_m(<2 x i64> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z22_cl_convert_ulong3_rtpDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z18convert_ulong3_rtpDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z22_cl_convert_ulong3_rtpDv3_m(<3 x i64> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z22_cl_convert_ulong4_rtpDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z18convert_ulong4_rtpDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z22_cl_convert_ulong4_rtpDv4_m(<4 x i64> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z22_cl_convert_ulong8_rtpDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z18convert_ulong8_rtpDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z22_cl_convert_ulong8_rtpDv8_m(<8 x i64> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z23_cl_convert_ulong16_rtpDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z19convert_ulong16_rtpDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z23_cl_convert_ulong16_rtpDv16_m(<16 x i64> %a)
  ret <16 x i64> %call
}


declare i64 @_Z21_cl_convert_ulong_rtnm(i64) local_unnamed_addr #0

define spir_func i64 @_Z17convert_ulong_rtnm(i64 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z21_cl_convert_ulong_rtnm(i64 %a)
  ret i64 %call
}


declare <2 x i64> @_Z22_cl_convert_ulong2_rtnDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z18convert_ulong2_rtnDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z22_cl_convert_ulong2_rtnDv2_m(<2 x i64> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z22_cl_convert_ulong3_rtnDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z18convert_ulong3_rtnDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z22_cl_convert_ulong3_rtnDv3_m(<3 x i64> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z22_cl_convert_ulong4_rtnDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z18convert_ulong4_rtnDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z22_cl_convert_ulong4_rtnDv4_m(<4 x i64> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z22_cl_convert_ulong8_rtnDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z18convert_ulong8_rtnDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z22_cl_convert_ulong8_rtnDv8_m(<8 x i64> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z23_cl_convert_ulong16_rtnDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z19convert_ulong16_rtnDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z23_cl_convert_ulong16_rtnDv16_m(<16 x i64> %a)
  ret <16 x i64> %call
}


declare i64 @_Z21_cl_convert_ulong_rtem(i64) local_unnamed_addr #0

define spir_func i64 @_Z17convert_ulong_rtem(i64 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z21_cl_convert_ulong_rtem(i64 %a)
  ret i64 %call
}


declare <2 x i64> @_Z22_cl_convert_ulong2_rteDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z18convert_ulong2_rteDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z22_cl_convert_ulong2_rteDv2_m(<2 x i64> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z22_cl_convert_ulong3_rteDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z18convert_ulong3_rteDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z22_cl_convert_ulong3_rteDv3_m(<3 x i64> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z22_cl_convert_ulong4_rteDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z18convert_ulong4_rteDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z22_cl_convert_ulong4_rteDv4_m(<4 x i64> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z22_cl_convert_ulong8_rteDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z18convert_ulong8_rteDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z22_cl_convert_ulong8_rteDv8_m(<8 x i64> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z23_cl_convert_ulong16_rteDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z19convert_ulong16_rteDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z23_cl_convert_ulong16_rteDv16_m(<16 x i64> %a)
  ret <16 x i64> %call
}


declare i64 @_Z21_cl_convert_ulong_rtzm(i64) local_unnamed_addr #0

define spir_func i64 @_Z17convert_ulong_rtzm(i64 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z21_cl_convert_ulong_rtzm(i64 %a)
  ret i64 %call
}


declare <2 x i64> @_Z22_cl_convert_ulong2_rtzDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z18convert_ulong2_rtzDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z22_cl_convert_ulong2_rtzDv2_m(<2 x i64> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z22_cl_convert_ulong3_rtzDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z18convert_ulong3_rtzDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z22_cl_convert_ulong3_rtzDv3_m(<3 x i64> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z22_cl_convert_ulong4_rtzDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z18convert_ulong4_rtzDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z22_cl_convert_ulong4_rtzDv4_m(<4 x i64> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z22_cl_convert_ulong8_rtzDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z18convert_ulong8_rtzDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z22_cl_convert_ulong8_rtzDv8_m(<8 x i64> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z23_cl_convert_ulong16_rtzDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z19convert_ulong16_rtzDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z23_cl_convert_ulong16_rtzDv16_m(<16 x i64> %a)
  ret <16 x i64> %call
}


declare i64 @_Z21_cl_convert_ulong_satm(i64) local_unnamed_addr #0

define spir_func i64 @_Z17convert_ulong_satm(i64 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z21_cl_convert_ulong_satm(i64 %a)
  ret i64 %call
}


declare <2 x i64> @_Z22_cl_convert_ulong2_satDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z18convert_ulong2_satDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z22_cl_convert_ulong2_satDv2_m(<2 x i64> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z22_cl_convert_ulong3_satDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z18convert_ulong3_satDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z22_cl_convert_ulong3_satDv3_m(<3 x i64> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z22_cl_convert_ulong4_satDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z18convert_ulong4_satDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z22_cl_convert_ulong4_satDv4_m(<4 x i64> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z22_cl_convert_ulong8_satDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z18convert_ulong8_satDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z22_cl_convert_ulong8_satDv8_m(<8 x i64> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z23_cl_convert_ulong16_satDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z19convert_ulong16_satDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z23_cl_convert_ulong16_satDv16_m(<16 x i64> %a)
  ret <16 x i64> %call
}


declare i64 @_Z25_cl_convert_ulong_sat_rtpm(i64) local_unnamed_addr #0

define spir_func i64 @_Z21convert_ulong_sat_rtpm(i64 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z25_cl_convert_ulong_sat_rtpm(i64 %a)
  ret i64 %call
}


declare <2 x i64> @_Z26_cl_convert_ulong2_sat_rtpDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z22convert_ulong2_sat_rtpDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z26_cl_convert_ulong2_sat_rtpDv2_m(<2 x i64> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z26_cl_convert_ulong3_sat_rtpDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z22convert_ulong3_sat_rtpDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z26_cl_convert_ulong3_sat_rtpDv3_m(<3 x i64> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z26_cl_convert_ulong4_sat_rtpDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z22convert_ulong4_sat_rtpDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z26_cl_convert_ulong4_sat_rtpDv4_m(<4 x i64> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z26_cl_convert_ulong8_sat_rtpDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z22convert_ulong8_sat_rtpDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z26_cl_convert_ulong8_sat_rtpDv8_m(<8 x i64> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z27_cl_convert_ulong16_sat_rtpDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z23convert_ulong16_sat_rtpDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z27_cl_convert_ulong16_sat_rtpDv16_m(<16 x i64> %a)
  ret <16 x i64> %call
}


declare i64 @_Z25_cl_convert_ulong_sat_rtnm(i64) local_unnamed_addr #0

define spir_func i64 @_Z21convert_ulong_sat_rtnm(i64 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z25_cl_convert_ulong_sat_rtnm(i64 %a)
  ret i64 %call
}


declare <2 x i64> @_Z26_cl_convert_ulong2_sat_rtnDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z22convert_ulong2_sat_rtnDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z26_cl_convert_ulong2_sat_rtnDv2_m(<2 x i64> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z26_cl_convert_ulong3_sat_rtnDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z22convert_ulong3_sat_rtnDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z26_cl_convert_ulong3_sat_rtnDv3_m(<3 x i64> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z26_cl_convert_ulong4_sat_rtnDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z22convert_ulong4_sat_rtnDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z26_cl_convert_ulong4_sat_rtnDv4_m(<4 x i64> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z26_cl_convert_ulong8_sat_rtnDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z22convert_ulong8_sat_rtnDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z26_cl_convert_ulong8_sat_rtnDv8_m(<8 x i64> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z27_cl_convert_ulong16_sat_rtnDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z23convert_ulong16_sat_rtnDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z27_cl_convert_ulong16_sat_rtnDv16_m(<16 x i64> %a)
  ret <16 x i64> %call
}


declare i64 @_Z25_cl_convert_ulong_sat_rtem(i64) local_unnamed_addr #0

define spir_func i64 @_Z21convert_ulong_sat_rtem(i64 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z25_cl_convert_ulong_sat_rtem(i64 %a)
  ret i64 %call
}


declare <2 x i64> @_Z26_cl_convert_ulong2_sat_rteDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z22convert_ulong2_sat_rteDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z26_cl_convert_ulong2_sat_rteDv2_m(<2 x i64> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z26_cl_convert_ulong3_sat_rteDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z22convert_ulong3_sat_rteDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z26_cl_convert_ulong3_sat_rteDv3_m(<3 x i64> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z26_cl_convert_ulong4_sat_rteDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z22convert_ulong4_sat_rteDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z26_cl_convert_ulong4_sat_rteDv4_m(<4 x i64> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z26_cl_convert_ulong8_sat_rteDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z22convert_ulong8_sat_rteDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z26_cl_convert_ulong8_sat_rteDv8_m(<8 x i64> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z27_cl_convert_ulong16_sat_rteDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z23convert_ulong16_sat_rteDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z27_cl_convert_ulong16_sat_rteDv16_m(<16 x i64> %a)
  ret <16 x i64> %call
}


declare i64 @_Z25_cl_convert_ulong_sat_rtzm(i64) local_unnamed_addr #0

define spir_func i64 @_Z21convert_ulong_sat_rtzm(i64 %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z25_cl_convert_ulong_sat_rtzm(i64 %a)
  ret i64 %call
}


declare <2 x i64> @_Z26_cl_convert_ulong2_sat_rtzDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z22convert_ulong2_sat_rtzDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z26_cl_convert_ulong2_sat_rtzDv2_m(<2 x i64> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z26_cl_convert_ulong3_sat_rtzDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z22convert_ulong3_sat_rtzDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z26_cl_convert_ulong3_sat_rtzDv3_m(<3 x i64> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z26_cl_convert_ulong4_sat_rtzDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z22convert_ulong4_sat_rtzDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z26_cl_convert_ulong4_sat_rtzDv4_m(<4 x i64> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z26_cl_convert_ulong8_sat_rtzDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z22convert_ulong8_sat_rtzDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z26_cl_convert_ulong8_sat_rtzDv8_m(<8 x i64> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z27_cl_convert_ulong16_sat_rtzDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z23convert_ulong16_sat_rtzDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z27_cl_convert_ulong16_sat_rtzDv16_m(<16 x i64> %a)
  ret <16 x i64> %call
}


declare i64 @_Z17_cl_convert_ulongf(float) local_unnamed_addr #0

define spir_func i64 @_Z13convert_ulongf(float %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z17_cl_convert_ulongf(float %a)
  ret i64 %call
}


declare <2 x i64> @_Z18_cl_convert_ulong2Dv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z14convert_ulong2Dv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z18_cl_convert_ulong2Dv2_f(<2 x float> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z18_cl_convert_ulong3Dv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z14convert_ulong3Dv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z18_cl_convert_ulong3Dv3_f(<3 x float> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z18_cl_convert_ulong4Dv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z14convert_ulong4Dv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z18_cl_convert_ulong4Dv4_f(<4 x float> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z18_cl_convert_ulong8Dv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z14convert_ulong8Dv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z18_cl_convert_ulong8Dv8_f(<8 x float> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z19_cl_convert_ulong16Dv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z15convert_ulong16Dv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z19_cl_convert_ulong16Dv16_f(<16 x float> %a)
  ret <16 x i64> %call
}


declare i64 @_Z21_cl_convert_ulong_rtpf(float) local_unnamed_addr #0

define spir_func i64 @_Z17convert_ulong_rtpf(float %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z21_cl_convert_ulong_rtpf(float %a)
  ret i64 %call
}


declare <2 x i64> @_Z22_cl_convert_ulong2_rtpDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z18convert_ulong2_rtpDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z22_cl_convert_ulong2_rtpDv2_f(<2 x float> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z22_cl_convert_ulong3_rtpDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z18convert_ulong3_rtpDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z22_cl_convert_ulong3_rtpDv3_f(<3 x float> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z22_cl_convert_ulong4_rtpDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z18convert_ulong4_rtpDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z22_cl_convert_ulong4_rtpDv4_f(<4 x float> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z22_cl_convert_ulong8_rtpDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z18convert_ulong8_rtpDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z22_cl_convert_ulong8_rtpDv8_f(<8 x float> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z23_cl_convert_ulong16_rtpDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z19convert_ulong16_rtpDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z23_cl_convert_ulong16_rtpDv16_f(<16 x float> %a)
  ret <16 x i64> %call
}


declare i64 @_Z21_cl_convert_ulong_rtnf(float) local_unnamed_addr #0

define spir_func i64 @_Z17convert_ulong_rtnf(float %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z21_cl_convert_ulong_rtnf(float %a)
  ret i64 %call
}


declare <2 x i64> @_Z22_cl_convert_ulong2_rtnDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z18convert_ulong2_rtnDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z22_cl_convert_ulong2_rtnDv2_f(<2 x float> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z22_cl_convert_ulong3_rtnDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z18convert_ulong3_rtnDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z22_cl_convert_ulong3_rtnDv3_f(<3 x float> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z22_cl_convert_ulong4_rtnDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z18convert_ulong4_rtnDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z22_cl_convert_ulong4_rtnDv4_f(<4 x float> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z22_cl_convert_ulong8_rtnDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z18convert_ulong8_rtnDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z22_cl_convert_ulong8_rtnDv8_f(<8 x float> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z23_cl_convert_ulong16_rtnDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z19convert_ulong16_rtnDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z23_cl_convert_ulong16_rtnDv16_f(<16 x float> %a)
  ret <16 x i64> %call
}


declare i64 @_Z21_cl_convert_ulong_rtef(float) local_unnamed_addr #0

define spir_func i64 @_Z17convert_ulong_rtef(float %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z21_cl_convert_ulong_rtef(float %a)
  ret i64 %call
}


declare <2 x i64> @_Z22_cl_convert_ulong2_rteDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z18convert_ulong2_rteDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z22_cl_convert_ulong2_rteDv2_f(<2 x float> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z22_cl_convert_ulong3_rteDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z18convert_ulong3_rteDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z22_cl_convert_ulong3_rteDv3_f(<3 x float> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z22_cl_convert_ulong4_rteDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z18convert_ulong4_rteDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z22_cl_convert_ulong4_rteDv4_f(<4 x float> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z22_cl_convert_ulong8_rteDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z18convert_ulong8_rteDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z22_cl_convert_ulong8_rteDv8_f(<8 x float> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z23_cl_convert_ulong16_rteDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z19convert_ulong16_rteDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z23_cl_convert_ulong16_rteDv16_f(<16 x float> %a)
  ret <16 x i64> %call
}


declare i64 @_Z21_cl_convert_ulong_rtzf(float) local_unnamed_addr #0

define spir_func i64 @_Z17convert_ulong_rtzf(float %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z21_cl_convert_ulong_rtzf(float %a)
  ret i64 %call
}


declare <2 x i64> @_Z22_cl_convert_ulong2_rtzDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z18convert_ulong2_rtzDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z22_cl_convert_ulong2_rtzDv2_f(<2 x float> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z22_cl_convert_ulong3_rtzDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z18convert_ulong3_rtzDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z22_cl_convert_ulong3_rtzDv3_f(<3 x float> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z22_cl_convert_ulong4_rtzDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z18convert_ulong4_rtzDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z22_cl_convert_ulong4_rtzDv4_f(<4 x float> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z22_cl_convert_ulong8_rtzDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z18convert_ulong8_rtzDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z22_cl_convert_ulong8_rtzDv8_f(<8 x float> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z23_cl_convert_ulong16_rtzDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z19convert_ulong16_rtzDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z23_cl_convert_ulong16_rtzDv16_f(<16 x float> %a)
  ret <16 x i64> %call
}


declare i64 @_Z21_cl_convert_ulong_satf(float) local_unnamed_addr #0

define spir_func i64 @_Z17convert_ulong_satf(float %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z21_cl_convert_ulong_satf(float %a)
  ret i64 %call
}


declare <2 x i64> @_Z22_cl_convert_ulong2_satDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z18convert_ulong2_satDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z22_cl_convert_ulong2_satDv2_f(<2 x float> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z22_cl_convert_ulong3_satDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z18convert_ulong3_satDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z22_cl_convert_ulong3_satDv3_f(<3 x float> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z22_cl_convert_ulong4_satDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z18convert_ulong4_satDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z22_cl_convert_ulong4_satDv4_f(<4 x float> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z22_cl_convert_ulong8_satDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z18convert_ulong8_satDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z22_cl_convert_ulong8_satDv8_f(<8 x float> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z23_cl_convert_ulong16_satDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z19convert_ulong16_satDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z23_cl_convert_ulong16_satDv16_f(<16 x float> %a)
  ret <16 x i64> %call
}


declare i64 @_Z25_cl_convert_ulong_sat_rtpf(float) local_unnamed_addr #0

define spir_func i64 @_Z21convert_ulong_sat_rtpf(float %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z25_cl_convert_ulong_sat_rtpf(float %a)
  ret i64 %call
}


declare <2 x i64> @_Z26_cl_convert_ulong2_sat_rtpDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z22convert_ulong2_sat_rtpDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z26_cl_convert_ulong2_sat_rtpDv2_f(<2 x float> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z26_cl_convert_ulong3_sat_rtpDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z22convert_ulong3_sat_rtpDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z26_cl_convert_ulong3_sat_rtpDv3_f(<3 x float> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z26_cl_convert_ulong4_sat_rtpDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z22convert_ulong4_sat_rtpDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z26_cl_convert_ulong4_sat_rtpDv4_f(<4 x float> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z26_cl_convert_ulong8_sat_rtpDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z22convert_ulong8_sat_rtpDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z26_cl_convert_ulong8_sat_rtpDv8_f(<8 x float> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z27_cl_convert_ulong16_sat_rtpDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z23convert_ulong16_sat_rtpDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z27_cl_convert_ulong16_sat_rtpDv16_f(<16 x float> %a)
  ret <16 x i64> %call
}


declare i64 @_Z25_cl_convert_ulong_sat_rtnf(float) local_unnamed_addr #0

define spir_func i64 @_Z21convert_ulong_sat_rtnf(float %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z25_cl_convert_ulong_sat_rtnf(float %a)
  ret i64 %call
}


declare <2 x i64> @_Z26_cl_convert_ulong2_sat_rtnDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z22convert_ulong2_sat_rtnDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z26_cl_convert_ulong2_sat_rtnDv2_f(<2 x float> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z26_cl_convert_ulong3_sat_rtnDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z22convert_ulong3_sat_rtnDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z26_cl_convert_ulong3_sat_rtnDv3_f(<3 x float> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z26_cl_convert_ulong4_sat_rtnDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z22convert_ulong4_sat_rtnDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z26_cl_convert_ulong4_sat_rtnDv4_f(<4 x float> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z26_cl_convert_ulong8_sat_rtnDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z22convert_ulong8_sat_rtnDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z26_cl_convert_ulong8_sat_rtnDv8_f(<8 x float> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z27_cl_convert_ulong16_sat_rtnDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z23convert_ulong16_sat_rtnDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z27_cl_convert_ulong16_sat_rtnDv16_f(<16 x float> %a)
  ret <16 x i64> %call
}


declare i64 @_Z25_cl_convert_ulong_sat_rtef(float) local_unnamed_addr #0

define spir_func i64 @_Z21convert_ulong_sat_rtef(float %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z25_cl_convert_ulong_sat_rtef(float %a)
  ret i64 %call
}


declare <2 x i64> @_Z26_cl_convert_ulong2_sat_rteDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z22convert_ulong2_sat_rteDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z26_cl_convert_ulong2_sat_rteDv2_f(<2 x float> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z26_cl_convert_ulong3_sat_rteDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z22convert_ulong3_sat_rteDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z26_cl_convert_ulong3_sat_rteDv3_f(<3 x float> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z26_cl_convert_ulong4_sat_rteDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z22convert_ulong4_sat_rteDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z26_cl_convert_ulong4_sat_rteDv4_f(<4 x float> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z26_cl_convert_ulong8_sat_rteDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z22convert_ulong8_sat_rteDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z26_cl_convert_ulong8_sat_rteDv8_f(<8 x float> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z27_cl_convert_ulong16_sat_rteDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z23convert_ulong16_sat_rteDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z27_cl_convert_ulong16_sat_rteDv16_f(<16 x float> %a)
  ret <16 x i64> %call
}


declare i64 @_Z25_cl_convert_ulong_sat_rtzf(float) local_unnamed_addr #0

define spir_func i64 @_Z21convert_ulong_sat_rtzf(float %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z25_cl_convert_ulong_sat_rtzf(float %a)
  ret i64 %call
}


declare <2 x i64> @_Z26_cl_convert_ulong2_sat_rtzDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z22convert_ulong2_sat_rtzDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z26_cl_convert_ulong2_sat_rtzDv2_f(<2 x float> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z26_cl_convert_ulong3_sat_rtzDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z22convert_ulong3_sat_rtzDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z26_cl_convert_ulong3_sat_rtzDv3_f(<3 x float> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z26_cl_convert_ulong4_sat_rtzDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z22convert_ulong4_sat_rtzDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z26_cl_convert_ulong4_sat_rtzDv4_f(<4 x float> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z26_cl_convert_ulong8_sat_rtzDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z22convert_ulong8_sat_rtzDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z26_cl_convert_ulong8_sat_rtzDv8_f(<8 x float> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z27_cl_convert_ulong16_sat_rtzDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z23convert_ulong16_sat_rtzDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z27_cl_convert_ulong16_sat_rtzDv16_f(<16 x float> %a)
  ret <16 x i64> %call
}


declare i64 @_Z17_cl_convert_ulongd(double) local_unnamed_addr #0

define spir_func i64 @_Z13convert_ulongd(double %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z17_cl_convert_ulongd(double %a)
  ret i64 %call
}


declare <2 x i64> @_Z18_cl_convert_ulong2Dv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z14convert_ulong2Dv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z18_cl_convert_ulong2Dv2_d(<2 x double> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z18_cl_convert_ulong3Dv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z14convert_ulong3Dv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z18_cl_convert_ulong3Dv3_d(<3 x double> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z18_cl_convert_ulong4Dv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z14convert_ulong4Dv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z18_cl_convert_ulong4Dv4_d(<4 x double> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z18_cl_convert_ulong8Dv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z14convert_ulong8Dv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z18_cl_convert_ulong8Dv8_d(<8 x double> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z19_cl_convert_ulong16Dv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z15convert_ulong16Dv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z19_cl_convert_ulong16Dv16_d(<16 x double> %a)
  ret <16 x i64> %call
}


declare i64 @_Z21_cl_convert_ulong_rtpd(double) local_unnamed_addr #0

define spir_func i64 @_Z17convert_ulong_rtpd(double %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z21_cl_convert_ulong_rtpd(double %a)
  ret i64 %call
}


declare <2 x i64> @_Z22_cl_convert_ulong2_rtpDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z18convert_ulong2_rtpDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z22_cl_convert_ulong2_rtpDv2_d(<2 x double> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z22_cl_convert_ulong3_rtpDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z18convert_ulong3_rtpDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z22_cl_convert_ulong3_rtpDv3_d(<3 x double> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z22_cl_convert_ulong4_rtpDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z18convert_ulong4_rtpDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z22_cl_convert_ulong4_rtpDv4_d(<4 x double> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z22_cl_convert_ulong8_rtpDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z18convert_ulong8_rtpDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z22_cl_convert_ulong8_rtpDv8_d(<8 x double> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z23_cl_convert_ulong16_rtpDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z19convert_ulong16_rtpDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z23_cl_convert_ulong16_rtpDv16_d(<16 x double> %a)
  ret <16 x i64> %call
}


declare i64 @_Z21_cl_convert_ulong_rtnd(double) local_unnamed_addr #0

define spir_func i64 @_Z17convert_ulong_rtnd(double %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z21_cl_convert_ulong_rtnd(double %a)
  ret i64 %call
}


declare <2 x i64> @_Z22_cl_convert_ulong2_rtnDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z18convert_ulong2_rtnDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z22_cl_convert_ulong2_rtnDv2_d(<2 x double> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z22_cl_convert_ulong3_rtnDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z18convert_ulong3_rtnDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z22_cl_convert_ulong3_rtnDv3_d(<3 x double> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z22_cl_convert_ulong4_rtnDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z18convert_ulong4_rtnDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z22_cl_convert_ulong4_rtnDv4_d(<4 x double> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z22_cl_convert_ulong8_rtnDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z18convert_ulong8_rtnDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z22_cl_convert_ulong8_rtnDv8_d(<8 x double> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z23_cl_convert_ulong16_rtnDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z19convert_ulong16_rtnDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z23_cl_convert_ulong16_rtnDv16_d(<16 x double> %a)
  ret <16 x i64> %call
}


declare i64 @_Z21_cl_convert_ulong_rted(double) local_unnamed_addr #0

define spir_func i64 @_Z17convert_ulong_rted(double %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z21_cl_convert_ulong_rted(double %a)
  ret i64 %call
}


declare <2 x i64> @_Z22_cl_convert_ulong2_rteDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z18convert_ulong2_rteDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z22_cl_convert_ulong2_rteDv2_d(<2 x double> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z22_cl_convert_ulong3_rteDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z18convert_ulong3_rteDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z22_cl_convert_ulong3_rteDv3_d(<3 x double> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z22_cl_convert_ulong4_rteDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z18convert_ulong4_rteDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z22_cl_convert_ulong4_rteDv4_d(<4 x double> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z22_cl_convert_ulong8_rteDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z18convert_ulong8_rteDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z22_cl_convert_ulong8_rteDv8_d(<8 x double> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z23_cl_convert_ulong16_rteDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z19convert_ulong16_rteDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z23_cl_convert_ulong16_rteDv16_d(<16 x double> %a)
  ret <16 x i64> %call
}


declare i64 @_Z21_cl_convert_ulong_rtzd(double) local_unnamed_addr #0

define spir_func i64 @_Z17convert_ulong_rtzd(double %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z21_cl_convert_ulong_rtzd(double %a)
  ret i64 %call
}


declare <2 x i64> @_Z22_cl_convert_ulong2_rtzDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z18convert_ulong2_rtzDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z22_cl_convert_ulong2_rtzDv2_d(<2 x double> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z22_cl_convert_ulong3_rtzDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z18convert_ulong3_rtzDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z22_cl_convert_ulong3_rtzDv3_d(<3 x double> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z22_cl_convert_ulong4_rtzDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z18convert_ulong4_rtzDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z22_cl_convert_ulong4_rtzDv4_d(<4 x double> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z22_cl_convert_ulong8_rtzDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z18convert_ulong8_rtzDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z22_cl_convert_ulong8_rtzDv8_d(<8 x double> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z23_cl_convert_ulong16_rtzDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z19convert_ulong16_rtzDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z23_cl_convert_ulong16_rtzDv16_d(<16 x double> %a)
  ret <16 x i64> %call
}


declare i64 @_Z21_cl_convert_ulong_satd(double) local_unnamed_addr #0

define spir_func i64 @_Z17convert_ulong_satd(double %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z21_cl_convert_ulong_satd(double %a)
  ret i64 %call
}


declare <2 x i64> @_Z22_cl_convert_ulong2_satDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z18convert_ulong2_satDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z22_cl_convert_ulong2_satDv2_d(<2 x double> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z22_cl_convert_ulong3_satDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z18convert_ulong3_satDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z22_cl_convert_ulong3_satDv3_d(<3 x double> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z22_cl_convert_ulong4_satDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z18convert_ulong4_satDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z22_cl_convert_ulong4_satDv4_d(<4 x double> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z22_cl_convert_ulong8_satDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z18convert_ulong8_satDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z22_cl_convert_ulong8_satDv8_d(<8 x double> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z23_cl_convert_ulong16_satDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z19convert_ulong16_satDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z23_cl_convert_ulong16_satDv16_d(<16 x double> %a)
  ret <16 x i64> %call
}


declare i64 @_Z25_cl_convert_ulong_sat_rtpd(double) local_unnamed_addr #0

define spir_func i64 @_Z21convert_ulong_sat_rtpd(double %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z25_cl_convert_ulong_sat_rtpd(double %a)
  ret i64 %call
}


declare <2 x i64> @_Z26_cl_convert_ulong2_sat_rtpDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z22convert_ulong2_sat_rtpDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z26_cl_convert_ulong2_sat_rtpDv2_d(<2 x double> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z26_cl_convert_ulong3_sat_rtpDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z22convert_ulong3_sat_rtpDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z26_cl_convert_ulong3_sat_rtpDv3_d(<3 x double> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z26_cl_convert_ulong4_sat_rtpDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z22convert_ulong4_sat_rtpDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z26_cl_convert_ulong4_sat_rtpDv4_d(<4 x double> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z26_cl_convert_ulong8_sat_rtpDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z22convert_ulong8_sat_rtpDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z26_cl_convert_ulong8_sat_rtpDv8_d(<8 x double> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z27_cl_convert_ulong16_sat_rtpDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z23convert_ulong16_sat_rtpDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z27_cl_convert_ulong16_sat_rtpDv16_d(<16 x double> %a)
  ret <16 x i64> %call
}


declare i64 @_Z25_cl_convert_ulong_sat_rtnd(double) local_unnamed_addr #0

define spir_func i64 @_Z21convert_ulong_sat_rtnd(double %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z25_cl_convert_ulong_sat_rtnd(double %a)
  ret i64 %call
}


declare <2 x i64> @_Z26_cl_convert_ulong2_sat_rtnDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z22convert_ulong2_sat_rtnDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z26_cl_convert_ulong2_sat_rtnDv2_d(<2 x double> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z26_cl_convert_ulong3_sat_rtnDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z22convert_ulong3_sat_rtnDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z26_cl_convert_ulong3_sat_rtnDv3_d(<3 x double> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z26_cl_convert_ulong4_sat_rtnDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z22convert_ulong4_sat_rtnDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z26_cl_convert_ulong4_sat_rtnDv4_d(<4 x double> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z26_cl_convert_ulong8_sat_rtnDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z22convert_ulong8_sat_rtnDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z26_cl_convert_ulong8_sat_rtnDv8_d(<8 x double> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z27_cl_convert_ulong16_sat_rtnDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z23convert_ulong16_sat_rtnDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z27_cl_convert_ulong16_sat_rtnDv16_d(<16 x double> %a)
  ret <16 x i64> %call
}


declare i64 @_Z25_cl_convert_ulong_sat_rted(double) local_unnamed_addr #0

define spir_func i64 @_Z21convert_ulong_sat_rted(double %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z25_cl_convert_ulong_sat_rted(double %a)
  ret i64 %call
}


declare <2 x i64> @_Z26_cl_convert_ulong2_sat_rteDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z22convert_ulong2_sat_rteDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z26_cl_convert_ulong2_sat_rteDv2_d(<2 x double> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z26_cl_convert_ulong3_sat_rteDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z22convert_ulong3_sat_rteDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z26_cl_convert_ulong3_sat_rteDv3_d(<3 x double> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z26_cl_convert_ulong4_sat_rteDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z22convert_ulong4_sat_rteDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z26_cl_convert_ulong4_sat_rteDv4_d(<4 x double> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z26_cl_convert_ulong8_sat_rteDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z22convert_ulong8_sat_rteDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z26_cl_convert_ulong8_sat_rteDv8_d(<8 x double> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z27_cl_convert_ulong16_sat_rteDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z23convert_ulong16_sat_rteDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z27_cl_convert_ulong16_sat_rteDv16_d(<16 x double> %a)
  ret <16 x i64> %call
}


declare i64 @_Z25_cl_convert_ulong_sat_rtzd(double) local_unnamed_addr #0

define spir_func i64 @_Z21convert_ulong_sat_rtzd(double %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z25_cl_convert_ulong_sat_rtzd(double %a)
  ret i64 %call
}


declare <2 x i64> @_Z26_cl_convert_ulong2_sat_rtzDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x i64> @_Z22convert_ulong2_sat_rtzDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x i64> @_Z26_cl_convert_ulong2_sat_rtzDv2_d(<2 x double> %a)
  ret <2 x i64> %call
}


declare <3 x i64> @_Z26_cl_convert_ulong3_sat_rtzDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x i64> @_Z22convert_ulong3_sat_rtzDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x i64> @_Z26_cl_convert_ulong3_sat_rtzDv3_d(<3 x double> %a)
  ret <3 x i64> %call
}


declare <4 x i64> @_Z26_cl_convert_ulong4_sat_rtzDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x i64> @_Z22convert_ulong4_sat_rtzDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x i64> @_Z26_cl_convert_ulong4_sat_rtzDv4_d(<4 x double> %a)
  ret <4 x i64> %call
}


declare <8 x i64> @_Z26_cl_convert_ulong8_sat_rtzDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x i64> @_Z22convert_ulong8_sat_rtzDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x i64> @_Z26_cl_convert_ulong8_sat_rtzDv8_d(<8 x double> %a)
  ret <8 x i64> %call
}


declare <16 x i64> @_Z27_cl_convert_ulong16_sat_rtzDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x i64> @_Z23convert_ulong16_sat_rtzDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x i64> @_Z27_cl_convert_ulong16_sat_rtzDv16_d(<16 x double> %a)
  ret <16 x i64> %call
}


declare float @_Z17_cl_convert_floatc(i8) local_unnamed_addr #0

define spir_func float @_Z13convert_floatc(i8 %a) local_unnamed_addr #0 {
  %call = tail call float @_Z17_cl_convert_floatc(i8 %a)
  ret float %call
}


declare <2 x float> @_Z18_cl_convert_float2Dv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x float> @_Z14convert_float2Dv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z18_cl_convert_float2Dv2_c(<2 x i8> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z18_cl_convert_float3Dv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x float> @_Z14convert_float3Dv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z18_cl_convert_float3Dv3_c(<3 x i8> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z18_cl_convert_float4Dv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x float> @_Z14convert_float4Dv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z18_cl_convert_float4Dv4_c(<4 x i8> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z18_cl_convert_float8Dv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x float> @_Z14convert_float8Dv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z18_cl_convert_float8Dv8_c(<8 x i8> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z19_cl_convert_float16Dv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x float> @_Z15convert_float16Dv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z19_cl_convert_float16Dv16_c(<16 x i8> %a)
  ret <16 x float> %call
}


declare float @_Z21_cl_convert_float_rtpc(i8) local_unnamed_addr #0

define spir_func float @_Z17convert_float_rtpc(i8 %a) local_unnamed_addr #0 {
  %call = tail call float @_Z21_cl_convert_float_rtpc(i8 %a)
  ret float %call
}


declare <2 x float> @_Z22_cl_convert_float2_rtpDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x float> @_Z18convert_float2_rtpDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z22_cl_convert_float2_rtpDv2_c(<2 x i8> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z22_cl_convert_float3_rtpDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x float> @_Z18convert_float3_rtpDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z22_cl_convert_float3_rtpDv3_c(<3 x i8> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z22_cl_convert_float4_rtpDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x float> @_Z18convert_float4_rtpDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z22_cl_convert_float4_rtpDv4_c(<4 x i8> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z22_cl_convert_float8_rtpDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x float> @_Z18convert_float8_rtpDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z22_cl_convert_float8_rtpDv8_c(<8 x i8> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z23_cl_convert_float16_rtpDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x float> @_Z19convert_float16_rtpDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z23_cl_convert_float16_rtpDv16_c(<16 x i8> %a)
  ret <16 x float> %call
}


declare float @_Z21_cl_convert_float_rtnc(i8) local_unnamed_addr #0

define spir_func float @_Z17convert_float_rtnc(i8 %a) local_unnamed_addr #0 {
  %call = tail call float @_Z21_cl_convert_float_rtnc(i8 %a)
  ret float %call
}


declare <2 x float> @_Z22_cl_convert_float2_rtnDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x float> @_Z18convert_float2_rtnDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z22_cl_convert_float2_rtnDv2_c(<2 x i8> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z22_cl_convert_float3_rtnDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x float> @_Z18convert_float3_rtnDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z22_cl_convert_float3_rtnDv3_c(<3 x i8> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z22_cl_convert_float4_rtnDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x float> @_Z18convert_float4_rtnDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z22_cl_convert_float4_rtnDv4_c(<4 x i8> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z22_cl_convert_float8_rtnDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x float> @_Z18convert_float8_rtnDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z22_cl_convert_float8_rtnDv8_c(<8 x i8> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z23_cl_convert_float16_rtnDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x float> @_Z19convert_float16_rtnDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z23_cl_convert_float16_rtnDv16_c(<16 x i8> %a)
  ret <16 x float> %call
}


declare float @_Z21_cl_convert_float_rtec(i8) local_unnamed_addr #0

define spir_func float @_Z17convert_float_rtec(i8 %a) local_unnamed_addr #0 {
  %call = tail call float @_Z21_cl_convert_float_rtec(i8 %a)
  ret float %call
}


declare <2 x float> @_Z22_cl_convert_float2_rteDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x float> @_Z18convert_float2_rteDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z22_cl_convert_float2_rteDv2_c(<2 x i8> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z22_cl_convert_float3_rteDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x float> @_Z18convert_float3_rteDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z22_cl_convert_float3_rteDv3_c(<3 x i8> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z22_cl_convert_float4_rteDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x float> @_Z18convert_float4_rteDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z22_cl_convert_float4_rteDv4_c(<4 x i8> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z22_cl_convert_float8_rteDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x float> @_Z18convert_float8_rteDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z22_cl_convert_float8_rteDv8_c(<8 x i8> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z23_cl_convert_float16_rteDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x float> @_Z19convert_float16_rteDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z23_cl_convert_float16_rteDv16_c(<16 x i8> %a)
  ret <16 x float> %call
}


declare float @_Z21_cl_convert_float_rtzc(i8) local_unnamed_addr #0

define spir_func float @_Z17convert_float_rtzc(i8 %a) local_unnamed_addr #0 {
  %call = tail call float @_Z21_cl_convert_float_rtzc(i8 %a)
  ret float %call
}


declare <2 x float> @_Z22_cl_convert_float2_rtzDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x float> @_Z18convert_float2_rtzDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z22_cl_convert_float2_rtzDv2_c(<2 x i8> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z22_cl_convert_float3_rtzDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x float> @_Z18convert_float3_rtzDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z22_cl_convert_float3_rtzDv3_c(<3 x i8> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z22_cl_convert_float4_rtzDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x float> @_Z18convert_float4_rtzDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z22_cl_convert_float4_rtzDv4_c(<4 x i8> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z22_cl_convert_float8_rtzDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x float> @_Z18convert_float8_rtzDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z22_cl_convert_float8_rtzDv8_c(<8 x i8> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z23_cl_convert_float16_rtzDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x float> @_Z19convert_float16_rtzDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z23_cl_convert_float16_rtzDv16_c(<16 x i8> %a)
  ret <16 x float> %call
}


declare float @_Z21_cl_convert_float_satc(i8) local_unnamed_addr #0

define spir_func float @_Z17convert_float_satc(i8 %a) local_unnamed_addr #0 {
  %call = tail call float @_Z21_cl_convert_float_satc(i8 %a)
  ret float %call
}


declare <2 x float> @_Z22_cl_convert_float2_satDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x float> @_Z18convert_float2_satDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z22_cl_convert_float2_satDv2_c(<2 x i8> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z22_cl_convert_float3_satDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x float> @_Z18convert_float3_satDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z22_cl_convert_float3_satDv3_c(<3 x i8> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z22_cl_convert_float4_satDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x float> @_Z18convert_float4_satDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z22_cl_convert_float4_satDv4_c(<4 x i8> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z22_cl_convert_float8_satDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x float> @_Z18convert_float8_satDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z22_cl_convert_float8_satDv8_c(<8 x i8> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z23_cl_convert_float16_satDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x float> @_Z19convert_float16_satDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z23_cl_convert_float16_satDv16_c(<16 x i8> %a)
  ret <16 x float> %call
}


declare float @_Z25_cl_convert_float_sat_rtpc(i8) local_unnamed_addr #0

define spir_func float @_Z21convert_float_sat_rtpc(i8 %a) local_unnamed_addr #0 {
  %call = tail call float @_Z25_cl_convert_float_sat_rtpc(i8 %a)
  ret float %call
}


declare <2 x float> @_Z26_cl_convert_float2_sat_rtpDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x float> @_Z22convert_float2_sat_rtpDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z26_cl_convert_float2_sat_rtpDv2_c(<2 x i8> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z26_cl_convert_float3_sat_rtpDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x float> @_Z22convert_float3_sat_rtpDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z26_cl_convert_float3_sat_rtpDv3_c(<3 x i8> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z26_cl_convert_float4_sat_rtpDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x float> @_Z22convert_float4_sat_rtpDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z26_cl_convert_float4_sat_rtpDv4_c(<4 x i8> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z26_cl_convert_float8_sat_rtpDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x float> @_Z22convert_float8_sat_rtpDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z26_cl_convert_float8_sat_rtpDv8_c(<8 x i8> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z27_cl_convert_float16_sat_rtpDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x float> @_Z23convert_float16_sat_rtpDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z27_cl_convert_float16_sat_rtpDv16_c(<16 x i8> %a)
  ret <16 x float> %call
}


declare float @_Z25_cl_convert_float_sat_rtnc(i8) local_unnamed_addr #0

define spir_func float @_Z21convert_float_sat_rtnc(i8 %a) local_unnamed_addr #0 {
  %call = tail call float @_Z25_cl_convert_float_sat_rtnc(i8 %a)
  ret float %call
}


declare <2 x float> @_Z26_cl_convert_float2_sat_rtnDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x float> @_Z22convert_float2_sat_rtnDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z26_cl_convert_float2_sat_rtnDv2_c(<2 x i8> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z26_cl_convert_float3_sat_rtnDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x float> @_Z22convert_float3_sat_rtnDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z26_cl_convert_float3_sat_rtnDv3_c(<3 x i8> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z26_cl_convert_float4_sat_rtnDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x float> @_Z22convert_float4_sat_rtnDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z26_cl_convert_float4_sat_rtnDv4_c(<4 x i8> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z26_cl_convert_float8_sat_rtnDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x float> @_Z22convert_float8_sat_rtnDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z26_cl_convert_float8_sat_rtnDv8_c(<8 x i8> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z27_cl_convert_float16_sat_rtnDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x float> @_Z23convert_float16_sat_rtnDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z27_cl_convert_float16_sat_rtnDv16_c(<16 x i8> %a)
  ret <16 x float> %call
}


declare float @_Z25_cl_convert_float_sat_rtec(i8) local_unnamed_addr #0

define spir_func float @_Z21convert_float_sat_rtec(i8 %a) local_unnamed_addr #0 {
  %call = tail call float @_Z25_cl_convert_float_sat_rtec(i8 %a)
  ret float %call
}


declare <2 x float> @_Z26_cl_convert_float2_sat_rteDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x float> @_Z22convert_float2_sat_rteDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z26_cl_convert_float2_sat_rteDv2_c(<2 x i8> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z26_cl_convert_float3_sat_rteDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x float> @_Z22convert_float3_sat_rteDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z26_cl_convert_float3_sat_rteDv3_c(<3 x i8> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z26_cl_convert_float4_sat_rteDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x float> @_Z22convert_float4_sat_rteDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z26_cl_convert_float4_sat_rteDv4_c(<4 x i8> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z26_cl_convert_float8_sat_rteDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x float> @_Z22convert_float8_sat_rteDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z26_cl_convert_float8_sat_rteDv8_c(<8 x i8> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z27_cl_convert_float16_sat_rteDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x float> @_Z23convert_float16_sat_rteDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z27_cl_convert_float16_sat_rteDv16_c(<16 x i8> %a)
  ret <16 x float> %call
}


declare float @_Z25_cl_convert_float_sat_rtzc(i8) local_unnamed_addr #0

define spir_func float @_Z21convert_float_sat_rtzc(i8 %a) local_unnamed_addr #0 {
  %call = tail call float @_Z25_cl_convert_float_sat_rtzc(i8 %a)
  ret float %call
}


declare <2 x float> @_Z26_cl_convert_float2_sat_rtzDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x float> @_Z22convert_float2_sat_rtzDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z26_cl_convert_float2_sat_rtzDv2_c(<2 x i8> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z26_cl_convert_float3_sat_rtzDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x float> @_Z22convert_float3_sat_rtzDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z26_cl_convert_float3_sat_rtzDv3_c(<3 x i8> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z26_cl_convert_float4_sat_rtzDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x float> @_Z22convert_float4_sat_rtzDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z26_cl_convert_float4_sat_rtzDv4_c(<4 x i8> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z26_cl_convert_float8_sat_rtzDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x float> @_Z22convert_float8_sat_rtzDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z26_cl_convert_float8_sat_rtzDv8_c(<8 x i8> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z27_cl_convert_float16_sat_rtzDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x float> @_Z23convert_float16_sat_rtzDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z27_cl_convert_float16_sat_rtzDv16_c(<16 x i8> %a)
  ret <16 x float> %call
}


declare float @_Z17_cl_convert_floath(i8) local_unnamed_addr #0

define spir_func float @_Z13convert_floath(i8 %a) local_unnamed_addr #0 {
  %call = tail call float @_Z17_cl_convert_floath(i8 %a)
  ret float %call
}


declare <2 x float> @_Z18_cl_convert_float2Dv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x float> @_Z14convert_float2Dv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z18_cl_convert_float2Dv2_h(<2 x i8> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z18_cl_convert_float3Dv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x float> @_Z14convert_float3Dv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z18_cl_convert_float3Dv3_h(<3 x i8> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z18_cl_convert_float4Dv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x float> @_Z14convert_float4Dv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z18_cl_convert_float4Dv4_h(<4 x i8> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z18_cl_convert_float8Dv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x float> @_Z14convert_float8Dv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z18_cl_convert_float8Dv8_h(<8 x i8> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z19_cl_convert_float16Dv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x float> @_Z15convert_float16Dv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z19_cl_convert_float16Dv16_h(<16 x i8> %a)
  ret <16 x float> %call
}


declare float @_Z21_cl_convert_float_rtph(i8) local_unnamed_addr #0

define spir_func float @_Z17convert_float_rtph(i8 %a) local_unnamed_addr #0 {
  %call = tail call float @_Z21_cl_convert_float_rtph(i8 %a)
  ret float %call
}


declare <2 x float> @_Z22_cl_convert_float2_rtpDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x float> @_Z18convert_float2_rtpDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z22_cl_convert_float2_rtpDv2_h(<2 x i8> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z22_cl_convert_float3_rtpDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x float> @_Z18convert_float3_rtpDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z22_cl_convert_float3_rtpDv3_h(<3 x i8> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z22_cl_convert_float4_rtpDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x float> @_Z18convert_float4_rtpDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z22_cl_convert_float4_rtpDv4_h(<4 x i8> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z22_cl_convert_float8_rtpDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x float> @_Z18convert_float8_rtpDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z22_cl_convert_float8_rtpDv8_h(<8 x i8> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z23_cl_convert_float16_rtpDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x float> @_Z19convert_float16_rtpDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z23_cl_convert_float16_rtpDv16_h(<16 x i8> %a)
  ret <16 x float> %call
}


declare float @_Z21_cl_convert_float_rtnh(i8) local_unnamed_addr #0

define spir_func float @_Z17convert_float_rtnh(i8 %a) local_unnamed_addr #0 {
  %call = tail call float @_Z21_cl_convert_float_rtnh(i8 %a)
  ret float %call
}


declare <2 x float> @_Z22_cl_convert_float2_rtnDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x float> @_Z18convert_float2_rtnDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z22_cl_convert_float2_rtnDv2_h(<2 x i8> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z22_cl_convert_float3_rtnDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x float> @_Z18convert_float3_rtnDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z22_cl_convert_float3_rtnDv3_h(<3 x i8> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z22_cl_convert_float4_rtnDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x float> @_Z18convert_float4_rtnDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z22_cl_convert_float4_rtnDv4_h(<4 x i8> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z22_cl_convert_float8_rtnDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x float> @_Z18convert_float8_rtnDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z22_cl_convert_float8_rtnDv8_h(<8 x i8> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z23_cl_convert_float16_rtnDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x float> @_Z19convert_float16_rtnDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z23_cl_convert_float16_rtnDv16_h(<16 x i8> %a)
  ret <16 x float> %call
}


declare float @_Z21_cl_convert_float_rteh(i8) local_unnamed_addr #0

define spir_func float @_Z17convert_float_rteh(i8 %a) local_unnamed_addr #0 {
  %call = tail call float @_Z21_cl_convert_float_rteh(i8 %a)
  ret float %call
}


declare <2 x float> @_Z22_cl_convert_float2_rteDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x float> @_Z18convert_float2_rteDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z22_cl_convert_float2_rteDv2_h(<2 x i8> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z22_cl_convert_float3_rteDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x float> @_Z18convert_float3_rteDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z22_cl_convert_float3_rteDv3_h(<3 x i8> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z22_cl_convert_float4_rteDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x float> @_Z18convert_float4_rteDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z22_cl_convert_float4_rteDv4_h(<4 x i8> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z22_cl_convert_float8_rteDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x float> @_Z18convert_float8_rteDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z22_cl_convert_float8_rteDv8_h(<8 x i8> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z23_cl_convert_float16_rteDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x float> @_Z19convert_float16_rteDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z23_cl_convert_float16_rteDv16_h(<16 x i8> %a)
  ret <16 x float> %call
}


declare float @_Z21_cl_convert_float_rtzh(i8) local_unnamed_addr #0

define spir_func float @_Z17convert_float_rtzh(i8 %a) local_unnamed_addr #0 {
  %call = tail call float @_Z21_cl_convert_float_rtzh(i8 %a)
  ret float %call
}


declare <2 x float> @_Z22_cl_convert_float2_rtzDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x float> @_Z18convert_float2_rtzDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z22_cl_convert_float2_rtzDv2_h(<2 x i8> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z22_cl_convert_float3_rtzDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x float> @_Z18convert_float3_rtzDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z22_cl_convert_float3_rtzDv3_h(<3 x i8> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z22_cl_convert_float4_rtzDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x float> @_Z18convert_float4_rtzDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z22_cl_convert_float4_rtzDv4_h(<4 x i8> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z22_cl_convert_float8_rtzDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x float> @_Z18convert_float8_rtzDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z22_cl_convert_float8_rtzDv8_h(<8 x i8> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z23_cl_convert_float16_rtzDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x float> @_Z19convert_float16_rtzDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z23_cl_convert_float16_rtzDv16_h(<16 x i8> %a)
  ret <16 x float> %call
}


declare float @_Z21_cl_convert_float_sath(i8) local_unnamed_addr #0

define spir_func float @_Z17convert_float_sath(i8 %a) local_unnamed_addr #0 {
  %call = tail call float @_Z21_cl_convert_float_sath(i8 %a)
  ret float %call
}


declare <2 x float> @_Z22_cl_convert_float2_satDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x float> @_Z18convert_float2_satDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z22_cl_convert_float2_satDv2_h(<2 x i8> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z22_cl_convert_float3_satDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x float> @_Z18convert_float3_satDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z22_cl_convert_float3_satDv3_h(<3 x i8> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z22_cl_convert_float4_satDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x float> @_Z18convert_float4_satDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z22_cl_convert_float4_satDv4_h(<4 x i8> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z22_cl_convert_float8_satDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x float> @_Z18convert_float8_satDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z22_cl_convert_float8_satDv8_h(<8 x i8> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z23_cl_convert_float16_satDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x float> @_Z19convert_float16_satDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z23_cl_convert_float16_satDv16_h(<16 x i8> %a)
  ret <16 x float> %call
}


declare float @_Z25_cl_convert_float_sat_rtph(i8) local_unnamed_addr #0

define spir_func float @_Z21convert_float_sat_rtph(i8 %a) local_unnamed_addr #0 {
  %call = tail call float @_Z25_cl_convert_float_sat_rtph(i8 %a)
  ret float %call
}


declare <2 x float> @_Z26_cl_convert_float2_sat_rtpDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x float> @_Z22convert_float2_sat_rtpDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z26_cl_convert_float2_sat_rtpDv2_h(<2 x i8> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z26_cl_convert_float3_sat_rtpDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x float> @_Z22convert_float3_sat_rtpDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z26_cl_convert_float3_sat_rtpDv3_h(<3 x i8> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z26_cl_convert_float4_sat_rtpDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x float> @_Z22convert_float4_sat_rtpDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z26_cl_convert_float4_sat_rtpDv4_h(<4 x i8> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z26_cl_convert_float8_sat_rtpDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x float> @_Z22convert_float8_sat_rtpDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z26_cl_convert_float8_sat_rtpDv8_h(<8 x i8> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z27_cl_convert_float16_sat_rtpDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x float> @_Z23convert_float16_sat_rtpDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z27_cl_convert_float16_sat_rtpDv16_h(<16 x i8> %a)
  ret <16 x float> %call
}


declare float @_Z25_cl_convert_float_sat_rtnh(i8) local_unnamed_addr #0

define spir_func float @_Z21convert_float_sat_rtnh(i8 %a) local_unnamed_addr #0 {
  %call = tail call float @_Z25_cl_convert_float_sat_rtnh(i8 %a)
  ret float %call
}


declare <2 x float> @_Z26_cl_convert_float2_sat_rtnDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x float> @_Z22convert_float2_sat_rtnDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z26_cl_convert_float2_sat_rtnDv2_h(<2 x i8> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z26_cl_convert_float3_sat_rtnDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x float> @_Z22convert_float3_sat_rtnDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z26_cl_convert_float3_sat_rtnDv3_h(<3 x i8> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z26_cl_convert_float4_sat_rtnDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x float> @_Z22convert_float4_sat_rtnDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z26_cl_convert_float4_sat_rtnDv4_h(<4 x i8> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z26_cl_convert_float8_sat_rtnDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x float> @_Z22convert_float8_sat_rtnDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z26_cl_convert_float8_sat_rtnDv8_h(<8 x i8> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z27_cl_convert_float16_sat_rtnDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x float> @_Z23convert_float16_sat_rtnDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z27_cl_convert_float16_sat_rtnDv16_h(<16 x i8> %a)
  ret <16 x float> %call
}


declare float @_Z25_cl_convert_float_sat_rteh(i8) local_unnamed_addr #0

define spir_func float @_Z21convert_float_sat_rteh(i8 %a) local_unnamed_addr #0 {
  %call = tail call float @_Z25_cl_convert_float_sat_rteh(i8 %a)
  ret float %call
}


declare <2 x float> @_Z26_cl_convert_float2_sat_rteDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x float> @_Z22convert_float2_sat_rteDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z26_cl_convert_float2_sat_rteDv2_h(<2 x i8> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z26_cl_convert_float3_sat_rteDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x float> @_Z22convert_float3_sat_rteDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z26_cl_convert_float3_sat_rteDv3_h(<3 x i8> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z26_cl_convert_float4_sat_rteDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x float> @_Z22convert_float4_sat_rteDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z26_cl_convert_float4_sat_rteDv4_h(<4 x i8> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z26_cl_convert_float8_sat_rteDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x float> @_Z22convert_float8_sat_rteDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z26_cl_convert_float8_sat_rteDv8_h(<8 x i8> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z27_cl_convert_float16_sat_rteDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x float> @_Z23convert_float16_sat_rteDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z27_cl_convert_float16_sat_rteDv16_h(<16 x i8> %a)
  ret <16 x float> %call
}


declare float @_Z25_cl_convert_float_sat_rtzh(i8) local_unnamed_addr #0

define spir_func float @_Z21convert_float_sat_rtzh(i8 %a) local_unnamed_addr #0 {
  %call = tail call float @_Z25_cl_convert_float_sat_rtzh(i8 %a)
  ret float %call
}


declare <2 x float> @_Z26_cl_convert_float2_sat_rtzDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x float> @_Z22convert_float2_sat_rtzDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z26_cl_convert_float2_sat_rtzDv2_h(<2 x i8> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z26_cl_convert_float3_sat_rtzDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x float> @_Z22convert_float3_sat_rtzDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z26_cl_convert_float3_sat_rtzDv3_h(<3 x i8> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z26_cl_convert_float4_sat_rtzDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x float> @_Z22convert_float4_sat_rtzDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z26_cl_convert_float4_sat_rtzDv4_h(<4 x i8> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z26_cl_convert_float8_sat_rtzDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x float> @_Z22convert_float8_sat_rtzDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z26_cl_convert_float8_sat_rtzDv8_h(<8 x i8> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z27_cl_convert_float16_sat_rtzDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x float> @_Z23convert_float16_sat_rtzDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z27_cl_convert_float16_sat_rtzDv16_h(<16 x i8> %a)
  ret <16 x float> %call
}


declare float @_Z17_cl_convert_floats(i16) local_unnamed_addr #0

define spir_func float @_Z13convert_floats(i16 %a) local_unnamed_addr #0 {
  %call = tail call float @_Z17_cl_convert_floats(i16 %a)
  ret float %call
}


declare <2 x float> @_Z18_cl_convert_float2Dv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x float> @_Z14convert_float2Dv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z18_cl_convert_float2Dv2_s(<2 x i16> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z18_cl_convert_float3Dv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x float> @_Z14convert_float3Dv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z18_cl_convert_float3Dv3_s(<3 x i16> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z18_cl_convert_float4Dv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x float> @_Z14convert_float4Dv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z18_cl_convert_float4Dv4_s(<4 x i16> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z18_cl_convert_float8Dv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x float> @_Z14convert_float8Dv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z18_cl_convert_float8Dv8_s(<8 x i16> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z19_cl_convert_float16Dv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x float> @_Z15convert_float16Dv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z19_cl_convert_float16Dv16_s(<16 x i16> %a)
  ret <16 x float> %call
}


declare float @_Z21_cl_convert_float_rtps(i16) local_unnamed_addr #0

define spir_func float @_Z17convert_float_rtps(i16 %a) local_unnamed_addr #0 {
  %call = tail call float @_Z21_cl_convert_float_rtps(i16 %a)
  ret float %call
}


declare <2 x float> @_Z22_cl_convert_float2_rtpDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x float> @_Z18convert_float2_rtpDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z22_cl_convert_float2_rtpDv2_s(<2 x i16> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z22_cl_convert_float3_rtpDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x float> @_Z18convert_float3_rtpDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z22_cl_convert_float3_rtpDv3_s(<3 x i16> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z22_cl_convert_float4_rtpDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x float> @_Z18convert_float4_rtpDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z22_cl_convert_float4_rtpDv4_s(<4 x i16> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z22_cl_convert_float8_rtpDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x float> @_Z18convert_float8_rtpDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z22_cl_convert_float8_rtpDv8_s(<8 x i16> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z23_cl_convert_float16_rtpDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x float> @_Z19convert_float16_rtpDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z23_cl_convert_float16_rtpDv16_s(<16 x i16> %a)
  ret <16 x float> %call
}


declare float @_Z21_cl_convert_float_rtns(i16) local_unnamed_addr #0

define spir_func float @_Z17convert_float_rtns(i16 %a) local_unnamed_addr #0 {
  %call = tail call float @_Z21_cl_convert_float_rtns(i16 %a)
  ret float %call
}


declare <2 x float> @_Z22_cl_convert_float2_rtnDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x float> @_Z18convert_float2_rtnDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z22_cl_convert_float2_rtnDv2_s(<2 x i16> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z22_cl_convert_float3_rtnDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x float> @_Z18convert_float3_rtnDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z22_cl_convert_float3_rtnDv3_s(<3 x i16> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z22_cl_convert_float4_rtnDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x float> @_Z18convert_float4_rtnDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z22_cl_convert_float4_rtnDv4_s(<4 x i16> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z22_cl_convert_float8_rtnDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x float> @_Z18convert_float8_rtnDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z22_cl_convert_float8_rtnDv8_s(<8 x i16> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z23_cl_convert_float16_rtnDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x float> @_Z19convert_float16_rtnDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z23_cl_convert_float16_rtnDv16_s(<16 x i16> %a)
  ret <16 x float> %call
}


declare float @_Z21_cl_convert_float_rtes(i16) local_unnamed_addr #0

define spir_func float @_Z17convert_float_rtes(i16 %a) local_unnamed_addr #0 {
  %call = tail call float @_Z21_cl_convert_float_rtes(i16 %a)
  ret float %call
}


declare <2 x float> @_Z22_cl_convert_float2_rteDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x float> @_Z18convert_float2_rteDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z22_cl_convert_float2_rteDv2_s(<2 x i16> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z22_cl_convert_float3_rteDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x float> @_Z18convert_float3_rteDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z22_cl_convert_float3_rteDv3_s(<3 x i16> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z22_cl_convert_float4_rteDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x float> @_Z18convert_float4_rteDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z22_cl_convert_float4_rteDv4_s(<4 x i16> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z22_cl_convert_float8_rteDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x float> @_Z18convert_float8_rteDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z22_cl_convert_float8_rteDv8_s(<8 x i16> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z23_cl_convert_float16_rteDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x float> @_Z19convert_float16_rteDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z23_cl_convert_float16_rteDv16_s(<16 x i16> %a)
  ret <16 x float> %call
}


declare float @_Z21_cl_convert_float_rtzs(i16) local_unnamed_addr #0

define spir_func float @_Z17convert_float_rtzs(i16 %a) local_unnamed_addr #0 {
  %call = tail call float @_Z21_cl_convert_float_rtzs(i16 %a)
  ret float %call
}


declare <2 x float> @_Z22_cl_convert_float2_rtzDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x float> @_Z18convert_float2_rtzDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z22_cl_convert_float2_rtzDv2_s(<2 x i16> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z22_cl_convert_float3_rtzDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x float> @_Z18convert_float3_rtzDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z22_cl_convert_float3_rtzDv3_s(<3 x i16> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z22_cl_convert_float4_rtzDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x float> @_Z18convert_float4_rtzDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z22_cl_convert_float4_rtzDv4_s(<4 x i16> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z22_cl_convert_float8_rtzDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x float> @_Z18convert_float8_rtzDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z22_cl_convert_float8_rtzDv8_s(<8 x i16> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z23_cl_convert_float16_rtzDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x float> @_Z19convert_float16_rtzDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z23_cl_convert_float16_rtzDv16_s(<16 x i16> %a)
  ret <16 x float> %call
}


declare float @_Z21_cl_convert_float_sats(i16) local_unnamed_addr #0

define spir_func float @_Z17convert_float_sats(i16 %a) local_unnamed_addr #0 {
  %call = tail call float @_Z21_cl_convert_float_sats(i16 %a)
  ret float %call
}


declare <2 x float> @_Z22_cl_convert_float2_satDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x float> @_Z18convert_float2_satDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z22_cl_convert_float2_satDv2_s(<2 x i16> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z22_cl_convert_float3_satDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x float> @_Z18convert_float3_satDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z22_cl_convert_float3_satDv3_s(<3 x i16> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z22_cl_convert_float4_satDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x float> @_Z18convert_float4_satDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z22_cl_convert_float4_satDv4_s(<4 x i16> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z22_cl_convert_float8_satDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x float> @_Z18convert_float8_satDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z22_cl_convert_float8_satDv8_s(<8 x i16> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z23_cl_convert_float16_satDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x float> @_Z19convert_float16_satDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z23_cl_convert_float16_satDv16_s(<16 x i16> %a)
  ret <16 x float> %call
}


declare float @_Z25_cl_convert_float_sat_rtps(i16) local_unnamed_addr #0

define spir_func float @_Z21convert_float_sat_rtps(i16 %a) local_unnamed_addr #0 {
  %call = tail call float @_Z25_cl_convert_float_sat_rtps(i16 %a)
  ret float %call
}


declare <2 x float> @_Z26_cl_convert_float2_sat_rtpDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x float> @_Z22convert_float2_sat_rtpDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z26_cl_convert_float2_sat_rtpDv2_s(<2 x i16> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z26_cl_convert_float3_sat_rtpDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x float> @_Z22convert_float3_sat_rtpDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z26_cl_convert_float3_sat_rtpDv3_s(<3 x i16> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z26_cl_convert_float4_sat_rtpDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x float> @_Z22convert_float4_sat_rtpDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z26_cl_convert_float4_sat_rtpDv4_s(<4 x i16> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z26_cl_convert_float8_sat_rtpDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x float> @_Z22convert_float8_sat_rtpDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z26_cl_convert_float8_sat_rtpDv8_s(<8 x i16> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z27_cl_convert_float16_sat_rtpDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x float> @_Z23convert_float16_sat_rtpDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z27_cl_convert_float16_sat_rtpDv16_s(<16 x i16> %a)
  ret <16 x float> %call
}


declare float @_Z25_cl_convert_float_sat_rtns(i16) local_unnamed_addr #0

define spir_func float @_Z21convert_float_sat_rtns(i16 %a) local_unnamed_addr #0 {
  %call = tail call float @_Z25_cl_convert_float_sat_rtns(i16 %a)
  ret float %call
}


declare <2 x float> @_Z26_cl_convert_float2_sat_rtnDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x float> @_Z22convert_float2_sat_rtnDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z26_cl_convert_float2_sat_rtnDv2_s(<2 x i16> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z26_cl_convert_float3_sat_rtnDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x float> @_Z22convert_float3_sat_rtnDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z26_cl_convert_float3_sat_rtnDv3_s(<3 x i16> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z26_cl_convert_float4_sat_rtnDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x float> @_Z22convert_float4_sat_rtnDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z26_cl_convert_float4_sat_rtnDv4_s(<4 x i16> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z26_cl_convert_float8_sat_rtnDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x float> @_Z22convert_float8_sat_rtnDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z26_cl_convert_float8_sat_rtnDv8_s(<8 x i16> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z27_cl_convert_float16_sat_rtnDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x float> @_Z23convert_float16_sat_rtnDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z27_cl_convert_float16_sat_rtnDv16_s(<16 x i16> %a)
  ret <16 x float> %call
}


declare float @_Z25_cl_convert_float_sat_rtes(i16) local_unnamed_addr #0

define spir_func float @_Z21convert_float_sat_rtes(i16 %a) local_unnamed_addr #0 {
  %call = tail call float @_Z25_cl_convert_float_sat_rtes(i16 %a)
  ret float %call
}


declare <2 x float> @_Z26_cl_convert_float2_sat_rteDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x float> @_Z22convert_float2_sat_rteDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z26_cl_convert_float2_sat_rteDv2_s(<2 x i16> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z26_cl_convert_float3_sat_rteDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x float> @_Z22convert_float3_sat_rteDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z26_cl_convert_float3_sat_rteDv3_s(<3 x i16> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z26_cl_convert_float4_sat_rteDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x float> @_Z22convert_float4_sat_rteDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z26_cl_convert_float4_sat_rteDv4_s(<4 x i16> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z26_cl_convert_float8_sat_rteDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x float> @_Z22convert_float8_sat_rteDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z26_cl_convert_float8_sat_rteDv8_s(<8 x i16> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z27_cl_convert_float16_sat_rteDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x float> @_Z23convert_float16_sat_rteDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z27_cl_convert_float16_sat_rteDv16_s(<16 x i16> %a)
  ret <16 x float> %call
}


declare float @_Z25_cl_convert_float_sat_rtzs(i16) local_unnamed_addr #0

define spir_func float @_Z21convert_float_sat_rtzs(i16 %a) local_unnamed_addr #0 {
  %call = tail call float @_Z25_cl_convert_float_sat_rtzs(i16 %a)
  ret float %call
}


declare <2 x float> @_Z26_cl_convert_float2_sat_rtzDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x float> @_Z22convert_float2_sat_rtzDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z26_cl_convert_float2_sat_rtzDv2_s(<2 x i16> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z26_cl_convert_float3_sat_rtzDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x float> @_Z22convert_float3_sat_rtzDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z26_cl_convert_float3_sat_rtzDv3_s(<3 x i16> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z26_cl_convert_float4_sat_rtzDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x float> @_Z22convert_float4_sat_rtzDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z26_cl_convert_float4_sat_rtzDv4_s(<4 x i16> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z26_cl_convert_float8_sat_rtzDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x float> @_Z22convert_float8_sat_rtzDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z26_cl_convert_float8_sat_rtzDv8_s(<8 x i16> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z27_cl_convert_float16_sat_rtzDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x float> @_Z23convert_float16_sat_rtzDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z27_cl_convert_float16_sat_rtzDv16_s(<16 x i16> %a)
  ret <16 x float> %call
}


declare float @_Z17_cl_convert_floatt(i16) local_unnamed_addr #0

define spir_func float @_Z13convert_floatt(i16 %a) local_unnamed_addr #0 {
  %call = tail call float @_Z17_cl_convert_floatt(i16 %a)
  ret float %call
}


declare <2 x float> @_Z18_cl_convert_float2Dv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x float> @_Z14convert_float2Dv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z18_cl_convert_float2Dv2_t(<2 x i16> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z18_cl_convert_float3Dv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x float> @_Z14convert_float3Dv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z18_cl_convert_float3Dv3_t(<3 x i16> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z18_cl_convert_float4Dv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x float> @_Z14convert_float4Dv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z18_cl_convert_float4Dv4_t(<4 x i16> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z18_cl_convert_float8Dv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x float> @_Z14convert_float8Dv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z18_cl_convert_float8Dv8_t(<8 x i16> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z19_cl_convert_float16Dv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x float> @_Z15convert_float16Dv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z19_cl_convert_float16Dv16_t(<16 x i16> %a)
  ret <16 x float> %call
}


declare float @_Z21_cl_convert_float_rtpt(i16) local_unnamed_addr #0

define spir_func float @_Z17convert_float_rtpt(i16 %a) local_unnamed_addr #0 {
  %call = tail call float @_Z21_cl_convert_float_rtpt(i16 %a)
  ret float %call
}


declare <2 x float> @_Z22_cl_convert_float2_rtpDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x float> @_Z18convert_float2_rtpDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z22_cl_convert_float2_rtpDv2_t(<2 x i16> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z22_cl_convert_float3_rtpDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x float> @_Z18convert_float3_rtpDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z22_cl_convert_float3_rtpDv3_t(<3 x i16> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z22_cl_convert_float4_rtpDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x float> @_Z18convert_float4_rtpDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z22_cl_convert_float4_rtpDv4_t(<4 x i16> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z22_cl_convert_float8_rtpDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x float> @_Z18convert_float8_rtpDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z22_cl_convert_float8_rtpDv8_t(<8 x i16> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z23_cl_convert_float16_rtpDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x float> @_Z19convert_float16_rtpDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z23_cl_convert_float16_rtpDv16_t(<16 x i16> %a)
  ret <16 x float> %call
}


declare float @_Z21_cl_convert_float_rtnt(i16) local_unnamed_addr #0

define spir_func float @_Z17convert_float_rtnt(i16 %a) local_unnamed_addr #0 {
  %call = tail call float @_Z21_cl_convert_float_rtnt(i16 %a)
  ret float %call
}


declare <2 x float> @_Z22_cl_convert_float2_rtnDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x float> @_Z18convert_float2_rtnDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z22_cl_convert_float2_rtnDv2_t(<2 x i16> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z22_cl_convert_float3_rtnDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x float> @_Z18convert_float3_rtnDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z22_cl_convert_float3_rtnDv3_t(<3 x i16> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z22_cl_convert_float4_rtnDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x float> @_Z18convert_float4_rtnDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z22_cl_convert_float4_rtnDv4_t(<4 x i16> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z22_cl_convert_float8_rtnDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x float> @_Z18convert_float8_rtnDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z22_cl_convert_float8_rtnDv8_t(<8 x i16> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z23_cl_convert_float16_rtnDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x float> @_Z19convert_float16_rtnDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z23_cl_convert_float16_rtnDv16_t(<16 x i16> %a)
  ret <16 x float> %call
}


declare float @_Z21_cl_convert_float_rtet(i16) local_unnamed_addr #0

define spir_func float @_Z17convert_float_rtet(i16 %a) local_unnamed_addr #0 {
  %call = tail call float @_Z21_cl_convert_float_rtet(i16 %a)
  ret float %call
}


declare <2 x float> @_Z22_cl_convert_float2_rteDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x float> @_Z18convert_float2_rteDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z22_cl_convert_float2_rteDv2_t(<2 x i16> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z22_cl_convert_float3_rteDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x float> @_Z18convert_float3_rteDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z22_cl_convert_float3_rteDv3_t(<3 x i16> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z22_cl_convert_float4_rteDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x float> @_Z18convert_float4_rteDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z22_cl_convert_float4_rteDv4_t(<4 x i16> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z22_cl_convert_float8_rteDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x float> @_Z18convert_float8_rteDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z22_cl_convert_float8_rteDv8_t(<8 x i16> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z23_cl_convert_float16_rteDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x float> @_Z19convert_float16_rteDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z23_cl_convert_float16_rteDv16_t(<16 x i16> %a)
  ret <16 x float> %call
}


declare float @_Z21_cl_convert_float_rtzt(i16) local_unnamed_addr #0

define spir_func float @_Z17convert_float_rtzt(i16 %a) local_unnamed_addr #0 {
  %call = tail call float @_Z21_cl_convert_float_rtzt(i16 %a)
  ret float %call
}


declare <2 x float> @_Z22_cl_convert_float2_rtzDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x float> @_Z18convert_float2_rtzDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z22_cl_convert_float2_rtzDv2_t(<2 x i16> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z22_cl_convert_float3_rtzDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x float> @_Z18convert_float3_rtzDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z22_cl_convert_float3_rtzDv3_t(<3 x i16> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z22_cl_convert_float4_rtzDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x float> @_Z18convert_float4_rtzDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z22_cl_convert_float4_rtzDv4_t(<4 x i16> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z22_cl_convert_float8_rtzDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x float> @_Z18convert_float8_rtzDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z22_cl_convert_float8_rtzDv8_t(<8 x i16> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z23_cl_convert_float16_rtzDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x float> @_Z19convert_float16_rtzDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z23_cl_convert_float16_rtzDv16_t(<16 x i16> %a)
  ret <16 x float> %call
}


declare float @_Z21_cl_convert_float_satt(i16) local_unnamed_addr #0

define spir_func float @_Z17convert_float_satt(i16 %a) local_unnamed_addr #0 {
  %call = tail call float @_Z21_cl_convert_float_satt(i16 %a)
  ret float %call
}


declare <2 x float> @_Z22_cl_convert_float2_satDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x float> @_Z18convert_float2_satDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z22_cl_convert_float2_satDv2_t(<2 x i16> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z22_cl_convert_float3_satDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x float> @_Z18convert_float3_satDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z22_cl_convert_float3_satDv3_t(<3 x i16> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z22_cl_convert_float4_satDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x float> @_Z18convert_float4_satDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z22_cl_convert_float4_satDv4_t(<4 x i16> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z22_cl_convert_float8_satDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x float> @_Z18convert_float8_satDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z22_cl_convert_float8_satDv8_t(<8 x i16> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z23_cl_convert_float16_satDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x float> @_Z19convert_float16_satDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z23_cl_convert_float16_satDv16_t(<16 x i16> %a)
  ret <16 x float> %call
}


declare float @_Z25_cl_convert_float_sat_rtpt(i16) local_unnamed_addr #0

define spir_func float @_Z21convert_float_sat_rtpt(i16 %a) local_unnamed_addr #0 {
  %call = tail call float @_Z25_cl_convert_float_sat_rtpt(i16 %a)
  ret float %call
}


declare <2 x float> @_Z26_cl_convert_float2_sat_rtpDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x float> @_Z22convert_float2_sat_rtpDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z26_cl_convert_float2_sat_rtpDv2_t(<2 x i16> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z26_cl_convert_float3_sat_rtpDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x float> @_Z22convert_float3_sat_rtpDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z26_cl_convert_float3_sat_rtpDv3_t(<3 x i16> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z26_cl_convert_float4_sat_rtpDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x float> @_Z22convert_float4_sat_rtpDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z26_cl_convert_float4_sat_rtpDv4_t(<4 x i16> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z26_cl_convert_float8_sat_rtpDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x float> @_Z22convert_float8_sat_rtpDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z26_cl_convert_float8_sat_rtpDv8_t(<8 x i16> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z27_cl_convert_float16_sat_rtpDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x float> @_Z23convert_float16_sat_rtpDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z27_cl_convert_float16_sat_rtpDv16_t(<16 x i16> %a)
  ret <16 x float> %call
}


declare float @_Z25_cl_convert_float_sat_rtnt(i16) local_unnamed_addr #0

define spir_func float @_Z21convert_float_sat_rtnt(i16 %a) local_unnamed_addr #0 {
  %call = tail call float @_Z25_cl_convert_float_sat_rtnt(i16 %a)
  ret float %call
}


declare <2 x float> @_Z26_cl_convert_float2_sat_rtnDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x float> @_Z22convert_float2_sat_rtnDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z26_cl_convert_float2_sat_rtnDv2_t(<2 x i16> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z26_cl_convert_float3_sat_rtnDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x float> @_Z22convert_float3_sat_rtnDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z26_cl_convert_float3_sat_rtnDv3_t(<3 x i16> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z26_cl_convert_float4_sat_rtnDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x float> @_Z22convert_float4_sat_rtnDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z26_cl_convert_float4_sat_rtnDv4_t(<4 x i16> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z26_cl_convert_float8_sat_rtnDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x float> @_Z22convert_float8_sat_rtnDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z26_cl_convert_float8_sat_rtnDv8_t(<8 x i16> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z27_cl_convert_float16_sat_rtnDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x float> @_Z23convert_float16_sat_rtnDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z27_cl_convert_float16_sat_rtnDv16_t(<16 x i16> %a)
  ret <16 x float> %call
}


declare float @_Z25_cl_convert_float_sat_rtet(i16) local_unnamed_addr #0

define spir_func float @_Z21convert_float_sat_rtet(i16 %a) local_unnamed_addr #0 {
  %call = tail call float @_Z25_cl_convert_float_sat_rtet(i16 %a)
  ret float %call
}


declare <2 x float> @_Z26_cl_convert_float2_sat_rteDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x float> @_Z22convert_float2_sat_rteDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z26_cl_convert_float2_sat_rteDv2_t(<2 x i16> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z26_cl_convert_float3_sat_rteDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x float> @_Z22convert_float3_sat_rteDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z26_cl_convert_float3_sat_rteDv3_t(<3 x i16> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z26_cl_convert_float4_sat_rteDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x float> @_Z22convert_float4_sat_rteDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z26_cl_convert_float4_sat_rteDv4_t(<4 x i16> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z26_cl_convert_float8_sat_rteDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x float> @_Z22convert_float8_sat_rteDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z26_cl_convert_float8_sat_rteDv8_t(<8 x i16> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z27_cl_convert_float16_sat_rteDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x float> @_Z23convert_float16_sat_rteDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z27_cl_convert_float16_sat_rteDv16_t(<16 x i16> %a)
  ret <16 x float> %call
}


declare float @_Z25_cl_convert_float_sat_rtzt(i16) local_unnamed_addr #0

define spir_func float @_Z21convert_float_sat_rtzt(i16 %a) local_unnamed_addr #0 {
  %call = tail call float @_Z25_cl_convert_float_sat_rtzt(i16 %a)
  ret float %call
}


declare <2 x float> @_Z26_cl_convert_float2_sat_rtzDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x float> @_Z22convert_float2_sat_rtzDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z26_cl_convert_float2_sat_rtzDv2_t(<2 x i16> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z26_cl_convert_float3_sat_rtzDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x float> @_Z22convert_float3_sat_rtzDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z26_cl_convert_float3_sat_rtzDv3_t(<3 x i16> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z26_cl_convert_float4_sat_rtzDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x float> @_Z22convert_float4_sat_rtzDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z26_cl_convert_float4_sat_rtzDv4_t(<4 x i16> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z26_cl_convert_float8_sat_rtzDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x float> @_Z22convert_float8_sat_rtzDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z26_cl_convert_float8_sat_rtzDv8_t(<8 x i16> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z27_cl_convert_float16_sat_rtzDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x float> @_Z23convert_float16_sat_rtzDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z27_cl_convert_float16_sat_rtzDv16_t(<16 x i16> %a)
  ret <16 x float> %call
}


declare float @_Z17_cl_convert_floati(i32) local_unnamed_addr #0

define spir_func float @_Z13convert_floati(i32 %a) local_unnamed_addr #0 {
  %call = tail call float @_Z17_cl_convert_floati(i32 %a)
  ret float %call
}


declare <2 x float> @_Z18_cl_convert_float2Dv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x float> @_Z14convert_float2Dv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z18_cl_convert_float2Dv2_i(<2 x i32> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z18_cl_convert_float3Dv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x float> @_Z14convert_float3Dv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z18_cl_convert_float3Dv3_i(<3 x i32> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z18_cl_convert_float4Dv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x float> @_Z14convert_float4Dv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z18_cl_convert_float4Dv4_i(<4 x i32> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z18_cl_convert_float8Dv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x float> @_Z14convert_float8Dv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z18_cl_convert_float8Dv8_i(<8 x i32> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z19_cl_convert_float16Dv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x float> @_Z15convert_float16Dv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z19_cl_convert_float16Dv16_i(<16 x i32> %a)
  ret <16 x float> %call
}


declare float @_Z21_cl_convert_float_rtpi(i32) local_unnamed_addr #0

define spir_func float @_Z17convert_float_rtpi(i32 %a) local_unnamed_addr #0 {
  %call = tail call float @_Z21_cl_convert_float_rtpi(i32 %a)
  ret float %call
}


declare <2 x float> @_Z22_cl_convert_float2_rtpDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x float> @_Z18convert_float2_rtpDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z22_cl_convert_float2_rtpDv2_i(<2 x i32> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z22_cl_convert_float3_rtpDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x float> @_Z18convert_float3_rtpDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z22_cl_convert_float3_rtpDv3_i(<3 x i32> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z22_cl_convert_float4_rtpDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x float> @_Z18convert_float4_rtpDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z22_cl_convert_float4_rtpDv4_i(<4 x i32> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z22_cl_convert_float8_rtpDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x float> @_Z18convert_float8_rtpDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z22_cl_convert_float8_rtpDv8_i(<8 x i32> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z23_cl_convert_float16_rtpDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x float> @_Z19convert_float16_rtpDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z23_cl_convert_float16_rtpDv16_i(<16 x i32> %a)
  ret <16 x float> %call
}


declare float @_Z21_cl_convert_float_rtni(i32) local_unnamed_addr #0

define spir_func float @_Z17convert_float_rtni(i32 %a) local_unnamed_addr #0 {
  %call = tail call float @_Z21_cl_convert_float_rtni(i32 %a)
  ret float %call
}


declare <2 x float> @_Z22_cl_convert_float2_rtnDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x float> @_Z18convert_float2_rtnDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z22_cl_convert_float2_rtnDv2_i(<2 x i32> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z22_cl_convert_float3_rtnDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x float> @_Z18convert_float3_rtnDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z22_cl_convert_float3_rtnDv3_i(<3 x i32> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z22_cl_convert_float4_rtnDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x float> @_Z18convert_float4_rtnDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z22_cl_convert_float4_rtnDv4_i(<4 x i32> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z22_cl_convert_float8_rtnDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x float> @_Z18convert_float8_rtnDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z22_cl_convert_float8_rtnDv8_i(<8 x i32> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z23_cl_convert_float16_rtnDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x float> @_Z19convert_float16_rtnDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z23_cl_convert_float16_rtnDv16_i(<16 x i32> %a)
  ret <16 x float> %call
}


declare float @_Z21_cl_convert_float_rtei(i32) local_unnamed_addr #0

define spir_func float @_Z17convert_float_rtei(i32 %a) local_unnamed_addr #0 {
  %call = tail call float @_Z21_cl_convert_float_rtei(i32 %a)
  ret float %call
}


declare <2 x float> @_Z22_cl_convert_float2_rteDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x float> @_Z18convert_float2_rteDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z22_cl_convert_float2_rteDv2_i(<2 x i32> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z22_cl_convert_float3_rteDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x float> @_Z18convert_float3_rteDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z22_cl_convert_float3_rteDv3_i(<3 x i32> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z22_cl_convert_float4_rteDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x float> @_Z18convert_float4_rteDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z22_cl_convert_float4_rteDv4_i(<4 x i32> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z22_cl_convert_float8_rteDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x float> @_Z18convert_float8_rteDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z22_cl_convert_float8_rteDv8_i(<8 x i32> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z23_cl_convert_float16_rteDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x float> @_Z19convert_float16_rteDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z23_cl_convert_float16_rteDv16_i(<16 x i32> %a)
  ret <16 x float> %call
}


declare float @_Z21_cl_convert_float_rtzi(i32) local_unnamed_addr #0

define spir_func float @_Z17convert_float_rtzi(i32 %a) local_unnamed_addr #0 {
  %call = tail call float @_Z21_cl_convert_float_rtzi(i32 %a)
  ret float %call
}


declare <2 x float> @_Z22_cl_convert_float2_rtzDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x float> @_Z18convert_float2_rtzDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z22_cl_convert_float2_rtzDv2_i(<2 x i32> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z22_cl_convert_float3_rtzDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x float> @_Z18convert_float3_rtzDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z22_cl_convert_float3_rtzDv3_i(<3 x i32> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z22_cl_convert_float4_rtzDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x float> @_Z18convert_float4_rtzDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z22_cl_convert_float4_rtzDv4_i(<4 x i32> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z22_cl_convert_float8_rtzDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x float> @_Z18convert_float8_rtzDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z22_cl_convert_float8_rtzDv8_i(<8 x i32> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z23_cl_convert_float16_rtzDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x float> @_Z19convert_float16_rtzDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z23_cl_convert_float16_rtzDv16_i(<16 x i32> %a)
  ret <16 x float> %call
}


declare float @_Z21_cl_convert_float_sati(i32) local_unnamed_addr #0

define spir_func float @_Z17convert_float_sati(i32 %a) local_unnamed_addr #0 {
  %call = tail call float @_Z21_cl_convert_float_sati(i32 %a)
  ret float %call
}


declare <2 x float> @_Z22_cl_convert_float2_satDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x float> @_Z18convert_float2_satDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z22_cl_convert_float2_satDv2_i(<2 x i32> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z22_cl_convert_float3_satDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x float> @_Z18convert_float3_satDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z22_cl_convert_float3_satDv3_i(<3 x i32> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z22_cl_convert_float4_satDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x float> @_Z18convert_float4_satDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z22_cl_convert_float4_satDv4_i(<4 x i32> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z22_cl_convert_float8_satDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x float> @_Z18convert_float8_satDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z22_cl_convert_float8_satDv8_i(<8 x i32> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z23_cl_convert_float16_satDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x float> @_Z19convert_float16_satDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z23_cl_convert_float16_satDv16_i(<16 x i32> %a)
  ret <16 x float> %call
}


declare float @_Z25_cl_convert_float_sat_rtpi(i32) local_unnamed_addr #0

define spir_func float @_Z21convert_float_sat_rtpi(i32 %a) local_unnamed_addr #0 {
  %call = tail call float @_Z25_cl_convert_float_sat_rtpi(i32 %a)
  ret float %call
}


declare <2 x float> @_Z26_cl_convert_float2_sat_rtpDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x float> @_Z22convert_float2_sat_rtpDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z26_cl_convert_float2_sat_rtpDv2_i(<2 x i32> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z26_cl_convert_float3_sat_rtpDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x float> @_Z22convert_float3_sat_rtpDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z26_cl_convert_float3_sat_rtpDv3_i(<3 x i32> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z26_cl_convert_float4_sat_rtpDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x float> @_Z22convert_float4_sat_rtpDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z26_cl_convert_float4_sat_rtpDv4_i(<4 x i32> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z26_cl_convert_float8_sat_rtpDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x float> @_Z22convert_float8_sat_rtpDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z26_cl_convert_float8_sat_rtpDv8_i(<8 x i32> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z27_cl_convert_float16_sat_rtpDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x float> @_Z23convert_float16_sat_rtpDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z27_cl_convert_float16_sat_rtpDv16_i(<16 x i32> %a)
  ret <16 x float> %call
}


declare float @_Z25_cl_convert_float_sat_rtni(i32) local_unnamed_addr #0

define spir_func float @_Z21convert_float_sat_rtni(i32 %a) local_unnamed_addr #0 {
  %call = tail call float @_Z25_cl_convert_float_sat_rtni(i32 %a)
  ret float %call
}


declare <2 x float> @_Z26_cl_convert_float2_sat_rtnDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x float> @_Z22convert_float2_sat_rtnDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z26_cl_convert_float2_sat_rtnDv2_i(<2 x i32> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z26_cl_convert_float3_sat_rtnDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x float> @_Z22convert_float3_sat_rtnDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z26_cl_convert_float3_sat_rtnDv3_i(<3 x i32> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z26_cl_convert_float4_sat_rtnDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x float> @_Z22convert_float4_sat_rtnDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z26_cl_convert_float4_sat_rtnDv4_i(<4 x i32> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z26_cl_convert_float8_sat_rtnDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x float> @_Z22convert_float8_sat_rtnDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z26_cl_convert_float8_sat_rtnDv8_i(<8 x i32> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z27_cl_convert_float16_sat_rtnDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x float> @_Z23convert_float16_sat_rtnDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z27_cl_convert_float16_sat_rtnDv16_i(<16 x i32> %a)
  ret <16 x float> %call
}


declare float @_Z25_cl_convert_float_sat_rtei(i32) local_unnamed_addr #0

define spir_func float @_Z21convert_float_sat_rtei(i32 %a) local_unnamed_addr #0 {
  %call = tail call float @_Z25_cl_convert_float_sat_rtei(i32 %a)
  ret float %call
}


declare <2 x float> @_Z26_cl_convert_float2_sat_rteDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x float> @_Z22convert_float2_sat_rteDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z26_cl_convert_float2_sat_rteDv2_i(<2 x i32> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z26_cl_convert_float3_sat_rteDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x float> @_Z22convert_float3_sat_rteDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z26_cl_convert_float3_sat_rteDv3_i(<3 x i32> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z26_cl_convert_float4_sat_rteDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x float> @_Z22convert_float4_sat_rteDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z26_cl_convert_float4_sat_rteDv4_i(<4 x i32> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z26_cl_convert_float8_sat_rteDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x float> @_Z22convert_float8_sat_rteDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z26_cl_convert_float8_sat_rteDv8_i(<8 x i32> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z27_cl_convert_float16_sat_rteDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x float> @_Z23convert_float16_sat_rteDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z27_cl_convert_float16_sat_rteDv16_i(<16 x i32> %a)
  ret <16 x float> %call
}


declare float @_Z25_cl_convert_float_sat_rtzi(i32) local_unnamed_addr #0

define spir_func float @_Z21convert_float_sat_rtzi(i32 %a) local_unnamed_addr #0 {
  %call = tail call float @_Z25_cl_convert_float_sat_rtzi(i32 %a)
  ret float %call
}


declare <2 x float> @_Z26_cl_convert_float2_sat_rtzDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x float> @_Z22convert_float2_sat_rtzDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z26_cl_convert_float2_sat_rtzDv2_i(<2 x i32> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z26_cl_convert_float3_sat_rtzDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x float> @_Z22convert_float3_sat_rtzDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z26_cl_convert_float3_sat_rtzDv3_i(<3 x i32> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z26_cl_convert_float4_sat_rtzDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x float> @_Z22convert_float4_sat_rtzDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z26_cl_convert_float4_sat_rtzDv4_i(<4 x i32> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z26_cl_convert_float8_sat_rtzDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x float> @_Z22convert_float8_sat_rtzDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z26_cl_convert_float8_sat_rtzDv8_i(<8 x i32> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z27_cl_convert_float16_sat_rtzDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x float> @_Z23convert_float16_sat_rtzDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z27_cl_convert_float16_sat_rtzDv16_i(<16 x i32> %a)
  ret <16 x float> %call
}


declare float @_Z17_cl_convert_floatj(i32) local_unnamed_addr #0

define spir_func float @_Z13convert_floatj(i32 %a) local_unnamed_addr #0 {
  %call = tail call float @_Z17_cl_convert_floatj(i32 %a)
  ret float %call
}


declare <2 x float> @_Z18_cl_convert_float2Dv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x float> @_Z14convert_float2Dv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z18_cl_convert_float2Dv2_j(<2 x i32> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z18_cl_convert_float3Dv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x float> @_Z14convert_float3Dv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z18_cl_convert_float3Dv3_j(<3 x i32> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z18_cl_convert_float4Dv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x float> @_Z14convert_float4Dv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z18_cl_convert_float4Dv4_j(<4 x i32> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z18_cl_convert_float8Dv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x float> @_Z14convert_float8Dv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z18_cl_convert_float8Dv8_j(<8 x i32> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z19_cl_convert_float16Dv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x float> @_Z15convert_float16Dv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z19_cl_convert_float16Dv16_j(<16 x i32> %a)
  ret <16 x float> %call
}


declare float @_Z21_cl_convert_float_rtpj(i32) local_unnamed_addr #0

define spir_func float @_Z17convert_float_rtpj(i32 %a) local_unnamed_addr #0 {
  %call = tail call float @_Z21_cl_convert_float_rtpj(i32 %a)
  ret float %call
}


declare <2 x float> @_Z22_cl_convert_float2_rtpDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x float> @_Z18convert_float2_rtpDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z22_cl_convert_float2_rtpDv2_j(<2 x i32> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z22_cl_convert_float3_rtpDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x float> @_Z18convert_float3_rtpDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z22_cl_convert_float3_rtpDv3_j(<3 x i32> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z22_cl_convert_float4_rtpDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x float> @_Z18convert_float4_rtpDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z22_cl_convert_float4_rtpDv4_j(<4 x i32> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z22_cl_convert_float8_rtpDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x float> @_Z18convert_float8_rtpDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z22_cl_convert_float8_rtpDv8_j(<8 x i32> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z23_cl_convert_float16_rtpDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x float> @_Z19convert_float16_rtpDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z23_cl_convert_float16_rtpDv16_j(<16 x i32> %a)
  ret <16 x float> %call
}


declare float @_Z21_cl_convert_float_rtnj(i32) local_unnamed_addr #0

define spir_func float @_Z17convert_float_rtnj(i32 %a) local_unnamed_addr #0 {
  %call = tail call float @_Z21_cl_convert_float_rtnj(i32 %a)
  ret float %call
}


declare <2 x float> @_Z22_cl_convert_float2_rtnDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x float> @_Z18convert_float2_rtnDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z22_cl_convert_float2_rtnDv2_j(<2 x i32> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z22_cl_convert_float3_rtnDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x float> @_Z18convert_float3_rtnDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z22_cl_convert_float3_rtnDv3_j(<3 x i32> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z22_cl_convert_float4_rtnDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x float> @_Z18convert_float4_rtnDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z22_cl_convert_float4_rtnDv4_j(<4 x i32> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z22_cl_convert_float8_rtnDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x float> @_Z18convert_float8_rtnDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z22_cl_convert_float8_rtnDv8_j(<8 x i32> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z23_cl_convert_float16_rtnDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x float> @_Z19convert_float16_rtnDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z23_cl_convert_float16_rtnDv16_j(<16 x i32> %a)
  ret <16 x float> %call
}


declare float @_Z21_cl_convert_float_rtej(i32) local_unnamed_addr #0

define spir_func float @_Z17convert_float_rtej(i32 %a) local_unnamed_addr #0 {
  %call = tail call float @_Z21_cl_convert_float_rtej(i32 %a)
  ret float %call
}


declare <2 x float> @_Z22_cl_convert_float2_rteDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x float> @_Z18convert_float2_rteDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z22_cl_convert_float2_rteDv2_j(<2 x i32> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z22_cl_convert_float3_rteDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x float> @_Z18convert_float3_rteDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z22_cl_convert_float3_rteDv3_j(<3 x i32> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z22_cl_convert_float4_rteDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x float> @_Z18convert_float4_rteDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z22_cl_convert_float4_rteDv4_j(<4 x i32> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z22_cl_convert_float8_rteDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x float> @_Z18convert_float8_rteDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z22_cl_convert_float8_rteDv8_j(<8 x i32> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z23_cl_convert_float16_rteDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x float> @_Z19convert_float16_rteDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z23_cl_convert_float16_rteDv16_j(<16 x i32> %a)
  ret <16 x float> %call
}


declare float @_Z21_cl_convert_float_rtzj(i32) local_unnamed_addr #0

define spir_func float @_Z17convert_float_rtzj(i32 %a) local_unnamed_addr #0 {
  %call = tail call float @_Z21_cl_convert_float_rtzj(i32 %a)
  ret float %call
}


declare <2 x float> @_Z22_cl_convert_float2_rtzDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x float> @_Z18convert_float2_rtzDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z22_cl_convert_float2_rtzDv2_j(<2 x i32> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z22_cl_convert_float3_rtzDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x float> @_Z18convert_float3_rtzDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z22_cl_convert_float3_rtzDv3_j(<3 x i32> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z22_cl_convert_float4_rtzDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x float> @_Z18convert_float4_rtzDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z22_cl_convert_float4_rtzDv4_j(<4 x i32> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z22_cl_convert_float8_rtzDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x float> @_Z18convert_float8_rtzDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z22_cl_convert_float8_rtzDv8_j(<8 x i32> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z23_cl_convert_float16_rtzDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x float> @_Z19convert_float16_rtzDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z23_cl_convert_float16_rtzDv16_j(<16 x i32> %a)
  ret <16 x float> %call
}


declare float @_Z21_cl_convert_float_satj(i32) local_unnamed_addr #0

define spir_func float @_Z17convert_float_satj(i32 %a) local_unnamed_addr #0 {
  %call = tail call float @_Z21_cl_convert_float_satj(i32 %a)
  ret float %call
}


declare <2 x float> @_Z22_cl_convert_float2_satDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x float> @_Z18convert_float2_satDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z22_cl_convert_float2_satDv2_j(<2 x i32> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z22_cl_convert_float3_satDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x float> @_Z18convert_float3_satDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z22_cl_convert_float3_satDv3_j(<3 x i32> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z22_cl_convert_float4_satDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x float> @_Z18convert_float4_satDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z22_cl_convert_float4_satDv4_j(<4 x i32> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z22_cl_convert_float8_satDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x float> @_Z18convert_float8_satDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z22_cl_convert_float8_satDv8_j(<8 x i32> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z23_cl_convert_float16_satDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x float> @_Z19convert_float16_satDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z23_cl_convert_float16_satDv16_j(<16 x i32> %a)
  ret <16 x float> %call
}


declare float @_Z25_cl_convert_float_sat_rtpj(i32) local_unnamed_addr #0

define spir_func float @_Z21convert_float_sat_rtpj(i32 %a) local_unnamed_addr #0 {
  %call = tail call float @_Z25_cl_convert_float_sat_rtpj(i32 %a)
  ret float %call
}


declare <2 x float> @_Z26_cl_convert_float2_sat_rtpDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x float> @_Z22convert_float2_sat_rtpDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z26_cl_convert_float2_sat_rtpDv2_j(<2 x i32> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z26_cl_convert_float3_sat_rtpDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x float> @_Z22convert_float3_sat_rtpDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z26_cl_convert_float3_sat_rtpDv3_j(<3 x i32> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z26_cl_convert_float4_sat_rtpDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x float> @_Z22convert_float4_sat_rtpDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z26_cl_convert_float4_sat_rtpDv4_j(<4 x i32> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z26_cl_convert_float8_sat_rtpDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x float> @_Z22convert_float8_sat_rtpDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z26_cl_convert_float8_sat_rtpDv8_j(<8 x i32> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z27_cl_convert_float16_sat_rtpDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x float> @_Z23convert_float16_sat_rtpDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z27_cl_convert_float16_sat_rtpDv16_j(<16 x i32> %a)
  ret <16 x float> %call
}


declare float @_Z25_cl_convert_float_sat_rtnj(i32) local_unnamed_addr #0

define spir_func float @_Z21convert_float_sat_rtnj(i32 %a) local_unnamed_addr #0 {
  %call = tail call float @_Z25_cl_convert_float_sat_rtnj(i32 %a)
  ret float %call
}


declare <2 x float> @_Z26_cl_convert_float2_sat_rtnDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x float> @_Z22convert_float2_sat_rtnDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z26_cl_convert_float2_sat_rtnDv2_j(<2 x i32> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z26_cl_convert_float3_sat_rtnDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x float> @_Z22convert_float3_sat_rtnDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z26_cl_convert_float3_sat_rtnDv3_j(<3 x i32> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z26_cl_convert_float4_sat_rtnDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x float> @_Z22convert_float4_sat_rtnDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z26_cl_convert_float4_sat_rtnDv4_j(<4 x i32> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z26_cl_convert_float8_sat_rtnDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x float> @_Z22convert_float8_sat_rtnDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z26_cl_convert_float8_sat_rtnDv8_j(<8 x i32> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z27_cl_convert_float16_sat_rtnDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x float> @_Z23convert_float16_sat_rtnDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z27_cl_convert_float16_sat_rtnDv16_j(<16 x i32> %a)
  ret <16 x float> %call
}


declare float @_Z25_cl_convert_float_sat_rtej(i32) local_unnamed_addr #0

define spir_func float @_Z21convert_float_sat_rtej(i32 %a) local_unnamed_addr #0 {
  %call = tail call float @_Z25_cl_convert_float_sat_rtej(i32 %a)
  ret float %call
}


declare <2 x float> @_Z26_cl_convert_float2_sat_rteDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x float> @_Z22convert_float2_sat_rteDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z26_cl_convert_float2_sat_rteDv2_j(<2 x i32> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z26_cl_convert_float3_sat_rteDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x float> @_Z22convert_float3_sat_rteDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z26_cl_convert_float3_sat_rteDv3_j(<3 x i32> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z26_cl_convert_float4_sat_rteDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x float> @_Z22convert_float4_sat_rteDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z26_cl_convert_float4_sat_rteDv4_j(<4 x i32> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z26_cl_convert_float8_sat_rteDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x float> @_Z22convert_float8_sat_rteDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z26_cl_convert_float8_sat_rteDv8_j(<8 x i32> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z27_cl_convert_float16_sat_rteDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x float> @_Z23convert_float16_sat_rteDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z27_cl_convert_float16_sat_rteDv16_j(<16 x i32> %a)
  ret <16 x float> %call
}


declare float @_Z25_cl_convert_float_sat_rtzj(i32) local_unnamed_addr #0

define spir_func float @_Z21convert_float_sat_rtzj(i32 %a) local_unnamed_addr #0 {
  %call = tail call float @_Z25_cl_convert_float_sat_rtzj(i32 %a)
  ret float %call
}


declare <2 x float> @_Z26_cl_convert_float2_sat_rtzDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x float> @_Z22convert_float2_sat_rtzDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z26_cl_convert_float2_sat_rtzDv2_j(<2 x i32> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z26_cl_convert_float3_sat_rtzDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x float> @_Z22convert_float3_sat_rtzDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z26_cl_convert_float3_sat_rtzDv3_j(<3 x i32> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z26_cl_convert_float4_sat_rtzDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x float> @_Z22convert_float4_sat_rtzDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z26_cl_convert_float4_sat_rtzDv4_j(<4 x i32> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z26_cl_convert_float8_sat_rtzDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x float> @_Z22convert_float8_sat_rtzDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z26_cl_convert_float8_sat_rtzDv8_j(<8 x i32> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z27_cl_convert_float16_sat_rtzDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x float> @_Z23convert_float16_sat_rtzDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z27_cl_convert_float16_sat_rtzDv16_j(<16 x i32> %a)
  ret <16 x float> %call
}


declare float @_Z17_cl_convert_floatl(i64) local_unnamed_addr #0

define spir_func float @_Z13convert_floatl(i64 %a) local_unnamed_addr #0 {
  %call = tail call float @_Z17_cl_convert_floatl(i64 %a)
  ret float %call
}


declare <2 x float> @_Z18_cl_convert_float2Dv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x float> @_Z14convert_float2Dv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z18_cl_convert_float2Dv2_l(<2 x i64> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z18_cl_convert_float3Dv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x float> @_Z14convert_float3Dv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z18_cl_convert_float3Dv3_l(<3 x i64> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z18_cl_convert_float4Dv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x float> @_Z14convert_float4Dv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z18_cl_convert_float4Dv4_l(<4 x i64> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z18_cl_convert_float8Dv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x float> @_Z14convert_float8Dv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z18_cl_convert_float8Dv8_l(<8 x i64> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z19_cl_convert_float16Dv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x float> @_Z15convert_float16Dv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z19_cl_convert_float16Dv16_l(<16 x i64> %a)
  ret <16 x float> %call
}


declare float @_Z21_cl_convert_float_rtpl(i64) local_unnamed_addr #0

define spir_func float @_Z17convert_float_rtpl(i64 %a) local_unnamed_addr #0 {
  %call = tail call float @_Z21_cl_convert_float_rtpl(i64 %a)
  ret float %call
}


declare <2 x float> @_Z22_cl_convert_float2_rtpDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x float> @_Z18convert_float2_rtpDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z22_cl_convert_float2_rtpDv2_l(<2 x i64> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z22_cl_convert_float3_rtpDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x float> @_Z18convert_float3_rtpDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z22_cl_convert_float3_rtpDv3_l(<3 x i64> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z22_cl_convert_float4_rtpDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x float> @_Z18convert_float4_rtpDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z22_cl_convert_float4_rtpDv4_l(<4 x i64> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z22_cl_convert_float8_rtpDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x float> @_Z18convert_float8_rtpDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z22_cl_convert_float8_rtpDv8_l(<8 x i64> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z23_cl_convert_float16_rtpDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x float> @_Z19convert_float16_rtpDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z23_cl_convert_float16_rtpDv16_l(<16 x i64> %a)
  ret <16 x float> %call
}


declare float @_Z21_cl_convert_float_rtnl(i64) local_unnamed_addr #0

define spir_func float @_Z17convert_float_rtnl(i64 %a) local_unnamed_addr #0 {
  %call = tail call float @_Z21_cl_convert_float_rtnl(i64 %a)
  ret float %call
}


declare <2 x float> @_Z22_cl_convert_float2_rtnDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x float> @_Z18convert_float2_rtnDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z22_cl_convert_float2_rtnDv2_l(<2 x i64> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z22_cl_convert_float3_rtnDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x float> @_Z18convert_float3_rtnDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z22_cl_convert_float3_rtnDv3_l(<3 x i64> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z22_cl_convert_float4_rtnDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x float> @_Z18convert_float4_rtnDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z22_cl_convert_float4_rtnDv4_l(<4 x i64> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z22_cl_convert_float8_rtnDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x float> @_Z18convert_float8_rtnDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z22_cl_convert_float8_rtnDv8_l(<8 x i64> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z23_cl_convert_float16_rtnDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x float> @_Z19convert_float16_rtnDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z23_cl_convert_float16_rtnDv16_l(<16 x i64> %a)
  ret <16 x float> %call
}


declare float @_Z21_cl_convert_float_rtel(i64) local_unnamed_addr #0

define spir_func float @_Z17convert_float_rtel(i64 %a) local_unnamed_addr #0 {
  %call = tail call float @_Z21_cl_convert_float_rtel(i64 %a)
  ret float %call
}


declare <2 x float> @_Z22_cl_convert_float2_rteDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x float> @_Z18convert_float2_rteDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z22_cl_convert_float2_rteDv2_l(<2 x i64> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z22_cl_convert_float3_rteDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x float> @_Z18convert_float3_rteDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z22_cl_convert_float3_rteDv3_l(<3 x i64> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z22_cl_convert_float4_rteDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x float> @_Z18convert_float4_rteDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z22_cl_convert_float4_rteDv4_l(<4 x i64> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z22_cl_convert_float8_rteDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x float> @_Z18convert_float8_rteDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z22_cl_convert_float8_rteDv8_l(<8 x i64> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z23_cl_convert_float16_rteDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x float> @_Z19convert_float16_rteDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z23_cl_convert_float16_rteDv16_l(<16 x i64> %a)
  ret <16 x float> %call
}


declare float @_Z21_cl_convert_float_rtzl(i64) local_unnamed_addr #0

define spir_func float @_Z17convert_float_rtzl(i64 %a) local_unnamed_addr #0 {
  %call = tail call float @_Z21_cl_convert_float_rtzl(i64 %a)
  ret float %call
}


declare <2 x float> @_Z22_cl_convert_float2_rtzDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x float> @_Z18convert_float2_rtzDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z22_cl_convert_float2_rtzDv2_l(<2 x i64> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z22_cl_convert_float3_rtzDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x float> @_Z18convert_float3_rtzDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z22_cl_convert_float3_rtzDv3_l(<3 x i64> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z22_cl_convert_float4_rtzDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x float> @_Z18convert_float4_rtzDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z22_cl_convert_float4_rtzDv4_l(<4 x i64> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z22_cl_convert_float8_rtzDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x float> @_Z18convert_float8_rtzDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z22_cl_convert_float8_rtzDv8_l(<8 x i64> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z23_cl_convert_float16_rtzDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x float> @_Z19convert_float16_rtzDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z23_cl_convert_float16_rtzDv16_l(<16 x i64> %a)
  ret <16 x float> %call
}


declare float @_Z21_cl_convert_float_satl(i64) local_unnamed_addr #0

define spir_func float @_Z17convert_float_satl(i64 %a) local_unnamed_addr #0 {
  %call = tail call float @_Z21_cl_convert_float_satl(i64 %a)
  ret float %call
}


declare <2 x float> @_Z22_cl_convert_float2_satDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x float> @_Z18convert_float2_satDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z22_cl_convert_float2_satDv2_l(<2 x i64> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z22_cl_convert_float3_satDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x float> @_Z18convert_float3_satDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z22_cl_convert_float3_satDv3_l(<3 x i64> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z22_cl_convert_float4_satDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x float> @_Z18convert_float4_satDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z22_cl_convert_float4_satDv4_l(<4 x i64> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z22_cl_convert_float8_satDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x float> @_Z18convert_float8_satDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z22_cl_convert_float8_satDv8_l(<8 x i64> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z23_cl_convert_float16_satDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x float> @_Z19convert_float16_satDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z23_cl_convert_float16_satDv16_l(<16 x i64> %a)
  ret <16 x float> %call
}


declare float @_Z25_cl_convert_float_sat_rtpl(i64) local_unnamed_addr #0

define spir_func float @_Z21convert_float_sat_rtpl(i64 %a) local_unnamed_addr #0 {
  %call = tail call float @_Z25_cl_convert_float_sat_rtpl(i64 %a)
  ret float %call
}


declare <2 x float> @_Z26_cl_convert_float2_sat_rtpDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x float> @_Z22convert_float2_sat_rtpDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z26_cl_convert_float2_sat_rtpDv2_l(<2 x i64> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z26_cl_convert_float3_sat_rtpDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x float> @_Z22convert_float3_sat_rtpDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z26_cl_convert_float3_sat_rtpDv3_l(<3 x i64> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z26_cl_convert_float4_sat_rtpDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x float> @_Z22convert_float4_sat_rtpDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z26_cl_convert_float4_sat_rtpDv4_l(<4 x i64> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z26_cl_convert_float8_sat_rtpDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x float> @_Z22convert_float8_sat_rtpDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z26_cl_convert_float8_sat_rtpDv8_l(<8 x i64> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z27_cl_convert_float16_sat_rtpDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x float> @_Z23convert_float16_sat_rtpDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z27_cl_convert_float16_sat_rtpDv16_l(<16 x i64> %a)
  ret <16 x float> %call
}


declare float @_Z25_cl_convert_float_sat_rtnl(i64) local_unnamed_addr #0

define spir_func float @_Z21convert_float_sat_rtnl(i64 %a) local_unnamed_addr #0 {
  %call = tail call float @_Z25_cl_convert_float_sat_rtnl(i64 %a)
  ret float %call
}


declare <2 x float> @_Z26_cl_convert_float2_sat_rtnDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x float> @_Z22convert_float2_sat_rtnDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z26_cl_convert_float2_sat_rtnDv2_l(<2 x i64> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z26_cl_convert_float3_sat_rtnDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x float> @_Z22convert_float3_sat_rtnDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z26_cl_convert_float3_sat_rtnDv3_l(<3 x i64> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z26_cl_convert_float4_sat_rtnDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x float> @_Z22convert_float4_sat_rtnDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z26_cl_convert_float4_sat_rtnDv4_l(<4 x i64> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z26_cl_convert_float8_sat_rtnDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x float> @_Z22convert_float8_sat_rtnDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z26_cl_convert_float8_sat_rtnDv8_l(<8 x i64> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z27_cl_convert_float16_sat_rtnDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x float> @_Z23convert_float16_sat_rtnDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z27_cl_convert_float16_sat_rtnDv16_l(<16 x i64> %a)
  ret <16 x float> %call
}


declare float @_Z25_cl_convert_float_sat_rtel(i64) local_unnamed_addr #0

define spir_func float @_Z21convert_float_sat_rtel(i64 %a) local_unnamed_addr #0 {
  %call = tail call float @_Z25_cl_convert_float_sat_rtel(i64 %a)
  ret float %call
}


declare <2 x float> @_Z26_cl_convert_float2_sat_rteDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x float> @_Z22convert_float2_sat_rteDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z26_cl_convert_float2_sat_rteDv2_l(<2 x i64> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z26_cl_convert_float3_sat_rteDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x float> @_Z22convert_float3_sat_rteDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z26_cl_convert_float3_sat_rteDv3_l(<3 x i64> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z26_cl_convert_float4_sat_rteDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x float> @_Z22convert_float4_sat_rteDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z26_cl_convert_float4_sat_rteDv4_l(<4 x i64> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z26_cl_convert_float8_sat_rteDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x float> @_Z22convert_float8_sat_rteDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z26_cl_convert_float8_sat_rteDv8_l(<8 x i64> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z27_cl_convert_float16_sat_rteDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x float> @_Z23convert_float16_sat_rteDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z27_cl_convert_float16_sat_rteDv16_l(<16 x i64> %a)
  ret <16 x float> %call
}


declare float @_Z25_cl_convert_float_sat_rtzl(i64) local_unnamed_addr #0

define spir_func float @_Z21convert_float_sat_rtzl(i64 %a) local_unnamed_addr #0 {
  %call = tail call float @_Z25_cl_convert_float_sat_rtzl(i64 %a)
  ret float %call
}


declare <2 x float> @_Z26_cl_convert_float2_sat_rtzDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x float> @_Z22convert_float2_sat_rtzDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z26_cl_convert_float2_sat_rtzDv2_l(<2 x i64> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z26_cl_convert_float3_sat_rtzDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x float> @_Z22convert_float3_sat_rtzDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z26_cl_convert_float3_sat_rtzDv3_l(<3 x i64> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z26_cl_convert_float4_sat_rtzDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x float> @_Z22convert_float4_sat_rtzDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z26_cl_convert_float4_sat_rtzDv4_l(<4 x i64> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z26_cl_convert_float8_sat_rtzDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x float> @_Z22convert_float8_sat_rtzDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z26_cl_convert_float8_sat_rtzDv8_l(<8 x i64> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z27_cl_convert_float16_sat_rtzDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x float> @_Z23convert_float16_sat_rtzDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z27_cl_convert_float16_sat_rtzDv16_l(<16 x i64> %a)
  ret <16 x float> %call
}


declare float @_Z17_cl_convert_floatm(i64) local_unnamed_addr #0

define spir_func float @_Z13convert_floatm(i64 %a) local_unnamed_addr #0 {
  %call = tail call float @_Z17_cl_convert_floatm(i64 %a)
  ret float %call
}


declare <2 x float> @_Z18_cl_convert_float2Dv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x float> @_Z14convert_float2Dv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z18_cl_convert_float2Dv2_m(<2 x i64> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z18_cl_convert_float3Dv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x float> @_Z14convert_float3Dv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z18_cl_convert_float3Dv3_m(<3 x i64> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z18_cl_convert_float4Dv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x float> @_Z14convert_float4Dv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z18_cl_convert_float4Dv4_m(<4 x i64> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z18_cl_convert_float8Dv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x float> @_Z14convert_float8Dv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z18_cl_convert_float8Dv8_m(<8 x i64> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z19_cl_convert_float16Dv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x float> @_Z15convert_float16Dv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z19_cl_convert_float16Dv16_m(<16 x i64> %a)
  ret <16 x float> %call
}


declare float @_Z21_cl_convert_float_rtpm(i64) local_unnamed_addr #0

define spir_func float @_Z17convert_float_rtpm(i64 %a) local_unnamed_addr #0 {
  %call = tail call float @_Z21_cl_convert_float_rtpm(i64 %a)
  ret float %call
}


declare <2 x float> @_Z22_cl_convert_float2_rtpDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x float> @_Z18convert_float2_rtpDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z22_cl_convert_float2_rtpDv2_m(<2 x i64> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z22_cl_convert_float3_rtpDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x float> @_Z18convert_float3_rtpDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z22_cl_convert_float3_rtpDv3_m(<3 x i64> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z22_cl_convert_float4_rtpDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x float> @_Z18convert_float4_rtpDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z22_cl_convert_float4_rtpDv4_m(<4 x i64> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z22_cl_convert_float8_rtpDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x float> @_Z18convert_float8_rtpDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z22_cl_convert_float8_rtpDv8_m(<8 x i64> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z23_cl_convert_float16_rtpDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x float> @_Z19convert_float16_rtpDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z23_cl_convert_float16_rtpDv16_m(<16 x i64> %a)
  ret <16 x float> %call
}


declare float @_Z21_cl_convert_float_rtnm(i64) local_unnamed_addr #0

define spir_func float @_Z17convert_float_rtnm(i64 %a) local_unnamed_addr #0 {
  %call = tail call float @_Z21_cl_convert_float_rtnm(i64 %a)
  ret float %call
}


declare <2 x float> @_Z22_cl_convert_float2_rtnDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x float> @_Z18convert_float2_rtnDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z22_cl_convert_float2_rtnDv2_m(<2 x i64> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z22_cl_convert_float3_rtnDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x float> @_Z18convert_float3_rtnDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z22_cl_convert_float3_rtnDv3_m(<3 x i64> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z22_cl_convert_float4_rtnDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x float> @_Z18convert_float4_rtnDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z22_cl_convert_float4_rtnDv4_m(<4 x i64> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z22_cl_convert_float8_rtnDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x float> @_Z18convert_float8_rtnDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z22_cl_convert_float8_rtnDv8_m(<8 x i64> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z23_cl_convert_float16_rtnDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x float> @_Z19convert_float16_rtnDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z23_cl_convert_float16_rtnDv16_m(<16 x i64> %a)
  ret <16 x float> %call
}


declare float @_Z21_cl_convert_float_rtem(i64) local_unnamed_addr #0

define spir_func float @_Z17convert_float_rtem(i64 %a) local_unnamed_addr #0 {
  %call = tail call float @_Z21_cl_convert_float_rtem(i64 %a)
  ret float %call
}


declare <2 x float> @_Z22_cl_convert_float2_rteDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x float> @_Z18convert_float2_rteDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z22_cl_convert_float2_rteDv2_m(<2 x i64> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z22_cl_convert_float3_rteDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x float> @_Z18convert_float3_rteDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z22_cl_convert_float3_rteDv3_m(<3 x i64> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z22_cl_convert_float4_rteDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x float> @_Z18convert_float4_rteDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z22_cl_convert_float4_rteDv4_m(<4 x i64> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z22_cl_convert_float8_rteDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x float> @_Z18convert_float8_rteDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z22_cl_convert_float8_rteDv8_m(<8 x i64> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z23_cl_convert_float16_rteDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x float> @_Z19convert_float16_rteDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z23_cl_convert_float16_rteDv16_m(<16 x i64> %a)
  ret <16 x float> %call
}


declare float @_Z21_cl_convert_float_rtzm(i64) local_unnamed_addr #0

define spir_func float @_Z17convert_float_rtzm(i64 %a) local_unnamed_addr #0 {
  %call = tail call float @_Z21_cl_convert_float_rtzm(i64 %a)
  ret float %call
}


declare <2 x float> @_Z22_cl_convert_float2_rtzDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x float> @_Z18convert_float2_rtzDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z22_cl_convert_float2_rtzDv2_m(<2 x i64> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z22_cl_convert_float3_rtzDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x float> @_Z18convert_float3_rtzDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z22_cl_convert_float3_rtzDv3_m(<3 x i64> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z22_cl_convert_float4_rtzDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x float> @_Z18convert_float4_rtzDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z22_cl_convert_float4_rtzDv4_m(<4 x i64> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z22_cl_convert_float8_rtzDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x float> @_Z18convert_float8_rtzDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z22_cl_convert_float8_rtzDv8_m(<8 x i64> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z23_cl_convert_float16_rtzDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x float> @_Z19convert_float16_rtzDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z23_cl_convert_float16_rtzDv16_m(<16 x i64> %a)
  ret <16 x float> %call
}


declare float @_Z21_cl_convert_float_satm(i64) local_unnamed_addr #0

define spir_func float @_Z17convert_float_satm(i64 %a) local_unnamed_addr #0 {
  %call = tail call float @_Z21_cl_convert_float_satm(i64 %a)
  ret float %call
}


declare <2 x float> @_Z22_cl_convert_float2_satDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x float> @_Z18convert_float2_satDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z22_cl_convert_float2_satDv2_m(<2 x i64> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z22_cl_convert_float3_satDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x float> @_Z18convert_float3_satDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z22_cl_convert_float3_satDv3_m(<3 x i64> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z22_cl_convert_float4_satDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x float> @_Z18convert_float4_satDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z22_cl_convert_float4_satDv4_m(<4 x i64> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z22_cl_convert_float8_satDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x float> @_Z18convert_float8_satDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z22_cl_convert_float8_satDv8_m(<8 x i64> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z23_cl_convert_float16_satDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x float> @_Z19convert_float16_satDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z23_cl_convert_float16_satDv16_m(<16 x i64> %a)
  ret <16 x float> %call
}


declare float @_Z25_cl_convert_float_sat_rtpm(i64) local_unnamed_addr #0

define spir_func float @_Z21convert_float_sat_rtpm(i64 %a) local_unnamed_addr #0 {
  %call = tail call float @_Z25_cl_convert_float_sat_rtpm(i64 %a)
  ret float %call
}


declare <2 x float> @_Z26_cl_convert_float2_sat_rtpDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x float> @_Z22convert_float2_sat_rtpDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z26_cl_convert_float2_sat_rtpDv2_m(<2 x i64> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z26_cl_convert_float3_sat_rtpDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x float> @_Z22convert_float3_sat_rtpDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z26_cl_convert_float3_sat_rtpDv3_m(<3 x i64> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z26_cl_convert_float4_sat_rtpDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x float> @_Z22convert_float4_sat_rtpDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z26_cl_convert_float4_sat_rtpDv4_m(<4 x i64> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z26_cl_convert_float8_sat_rtpDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x float> @_Z22convert_float8_sat_rtpDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z26_cl_convert_float8_sat_rtpDv8_m(<8 x i64> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z27_cl_convert_float16_sat_rtpDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x float> @_Z23convert_float16_sat_rtpDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z27_cl_convert_float16_sat_rtpDv16_m(<16 x i64> %a)
  ret <16 x float> %call
}


declare float @_Z25_cl_convert_float_sat_rtnm(i64) local_unnamed_addr #0

define spir_func float @_Z21convert_float_sat_rtnm(i64 %a) local_unnamed_addr #0 {
  %call = tail call float @_Z25_cl_convert_float_sat_rtnm(i64 %a)
  ret float %call
}


declare <2 x float> @_Z26_cl_convert_float2_sat_rtnDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x float> @_Z22convert_float2_sat_rtnDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z26_cl_convert_float2_sat_rtnDv2_m(<2 x i64> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z26_cl_convert_float3_sat_rtnDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x float> @_Z22convert_float3_sat_rtnDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z26_cl_convert_float3_sat_rtnDv3_m(<3 x i64> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z26_cl_convert_float4_sat_rtnDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x float> @_Z22convert_float4_sat_rtnDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z26_cl_convert_float4_sat_rtnDv4_m(<4 x i64> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z26_cl_convert_float8_sat_rtnDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x float> @_Z22convert_float8_sat_rtnDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z26_cl_convert_float8_sat_rtnDv8_m(<8 x i64> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z27_cl_convert_float16_sat_rtnDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x float> @_Z23convert_float16_sat_rtnDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z27_cl_convert_float16_sat_rtnDv16_m(<16 x i64> %a)
  ret <16 x float> %call
}


declare float @_Z25_cl_convert_float_sat_rtem(i64) local_unnamed_addr #0

define spir_func float @_Z21convert_float_sat_rtem(i64 %a) local_unnamed_addr #0 {
  %call = tail call float @_Z25_cl_convert_float_sat_rtem(i64 %a)
  ret float %call
}


declare <2 x float> @_Z26_cl_convert_float2_sat_rteDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x float> @_Z22convert_float2_sat_rteDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z26_cl_convert_float2_sat_rteDv2_m(<2 x i64> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z26_cl_convert_float3_sat_rteDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x float> @_Z22convert_float3_sat_rteDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z26_cl_convert_float3_sat_rteDv3_m(<3 x i64> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z26_cl_convert_float4_sat_rteDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x float> @_Z22convert_float4_sat_rteDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z26_cl_convert_float4_sat_rteDv4_m(<4 x i64> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z26_cl_convert_float8_sat_rteDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x float> @_Z22convert_float8_sat_rteDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z26_cl_convert_float8_sat_rteDv8_m(<8 x i64> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z27_cl_convert_float16_sat_rteDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x float> @_Z23convert_float16_sat_rteDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z27_cl_convert_float16_sat_rteDv16_m(<16 x i64> %a)
  ret <16 x float> %call
}


declare float @_Z25_cl_convert_float_sat_rtzm(i64) local_unnamed_addr #0

define spir_func float @_Z21convert_float_sat_rtzm(i64 %a) local_unnamed_addr #0 {
  %call = tail call float @_Z25_cl_convert_float_sat_rtzm(i64 %a)
  ret float %call
}


declare <2 x float> @_Z26_cl_convert_float2_sat_rtzDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x float> @_Z22convert_float2_sat_rtzDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z26_cl_convert_float2_sat_rtzDv2_m(<2 x i64> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z26_cl_convert_float3_sat_rtzDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x float> @_Z22convert_float3_sat_rtzDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z26_cl_convert_float3_sat_rtzDv3_m(<3 x i64> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z26_cl_convert_float4_sat_rtzDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x float> @_Z22convert_float4_sat_rtzDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z26_cl_convert_float4_sat_rtzDv4_m(<4 x i64> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z26_cl_convert_float8_sat_rtzDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x float> @_Z22convert_float8_sat_rtzDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z26_cl_convert_float8_sat_rtzDv8_m(<8 x i64> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z27_cl_convert_float16_sat_rtzDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x float> @_Z23convert_float16_sat_rtzDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z27_cl_convert_float16_sat_rtzDv16_m(<16 x i64> %a)
  ret <16 x float> %call
}


declare float @_Z17_cl_convert_floatf(float) local_unnamed_addr #0

define spir_func float @_Z13convert_floatf(float %a) local_unnamed_addr #0 {
  %call = tail call float @_Z17_cl_convert_floatf(float %a)
  ret float %call
}


declare <2 x float> @_Z18_cl_convert_float2Dv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z14convert_float2Dv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z18_cl_convert_float2Dv2_f(<2 x float> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z18_cl_convert_float3Dv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z14convert_float3Dv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z18_cl_convert_float3Dv3_f(<3 x float> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z18_cl_convert_float4Dv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z14convert_float4Dv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z18_cl_convert_float4Dv4_f(<4 x float> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z18_cl_convert_float8Dv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z14convert_float8Dv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z18_cl_convert_float8Dv8_f(<8 x float> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z19_cl_convert_float16Dv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z15convert_float16Dv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z19_cl_convert_float16Dv16_f(<16 x float> %a)
  ret <16 x float> %call
}


declare float @_Z21_cl_convert_float_rtpf(float) local_unnamed_addr #0

define spir_func float @_Z17convert_float_rtpf(float %a) local_unnamed_addr #0 {
  %call = tail call float @_Z21_cl_convert_float_rtpf(float %a)
  ret float %call
}


declare <2 x float> @_Z22_cl_convert_float2_rtpDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z18convert_float2_rtpDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z22_cl_convert_float2_rtpDv2_f(<2 x float> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z22_cl_convert_float3_rtpDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z18convert_float3_rtpDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z22_cl_convert_float3_rtpDv3_f(<3 x float> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z22_cl_convert_float4_rtpDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z18convert_float4_rtpDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z22_cl_convert_float4_rtpDv4_f(<4 x float> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z22_cl_convert_float8_rtpDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z18convert_float8_rtpDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z22_cl_convert_float8_rtpDv8_f(<8 x float> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z23_cl_convert_float16_rtpDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z19convert_float16_rtpDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z23_cl_convert_float16_rtpDv16_f(<16 x float> %a)
  ret <16 x float> %call
}


declare float @_Z21_cl_convert_float_rtnf(float) local_unnamed_addr #0

define spir_func float @_Z17convert_float_rtnf(float %a) local_unnamed_addr #0 {
  %call = tail call float @_Z21_cl_convert_float_rtnf(float %a)
  ret float %call
}


declare <2 x float> @_Z22_cl_convert_float2_rtnDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z18convert_float2_rtnDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z22_cl_convert_float2_rtnDv2_f(<2 x float> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z22_cl_convert_float3_rtnDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z18convert_float3_rtnDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z22_cl_convert_float3_rtnDv3_f(<3 x float> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z22_cl_convert_float4_rtnDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z18convert_float4_rtnDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z22_cl_convert_float4_rtnDv4_f(<4 x float> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z22_cl_convert_float8_rtnDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z18convert_float8_rtnDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z22_cl_convert_float8_rtnDv8_f(<8 x float> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z23_cl_convert_float16_rtnDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z19convert_float16_rtnDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z23_cl_convert_float16_rtnDv16_f(<16 x float> %a)
  ret <16 x float> %call
}


declare float @_Z21_cl_convert_float_rtef(float) local_unnamed_addr #0

define spir_func float @_Z17convert_float_rtef(float %a) local_unnamed_addr #0 {
  %call = tail call float @_Z21_cl_convert_float_rtef(float %a)
  ret float %call
}


declare <2 x float> @_Z22_cl_convert_float2_rteDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z18convert_float2_rteDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z22_cl_convert_float2_rteDv2_f(<2 x float> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z22_cl_convert_float3_rteDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z18convert_float3_rteDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z22_cl_convert_float3_rteDv3_f(<3 x float> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z22_cl_convert_float4_rteDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z18convert_float4_rteDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z22_cl_convert_float4_rteDv4_f(<4 x float> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z22_cl_convert_float8_rteDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z18convert_float8_rteDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z22_cl_convert_float8_rteDv8_f(<8 x float> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z23_cl_convert_float16_rteDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z19convert_float16_rteDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z23_cl_convert_float16_rteDv16_f(<16 x float> %a)
  ret <16 x float> %call
}


declare float @_Z21_cl_convert_float_rtzf(float) local_unnamed_addr #0

define spir_func float @_Z17convert_float_rtzf(float %a) local_unnamed_addr #0 {
  %call = tail call float @_Z21_cl_convert_float_rtzf(float %a)
  ret float %call
}


declare <2 x float> @_Z22_cl_convert_float2_rtzDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z18convert_float2_rtzDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z22_cl_convert_float2_rtzDv2_f(<2 x float> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z22_cl_convert_float3_rtzDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z18convert_float3_rtzDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z22_cl_convert_float3_rtzDv3_f(<3 x float> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z22_cl_convert_float4_rtzDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z18convert_float4_rtzDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z22_cl_convert_float4_rtzDv4_f(<4 x float> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z22_cl_convert_float8_rtzDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z18convert_float8_rtzDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z22_cl_convert_float8_rtzDv8_f(<8 x float> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z23_cl_convert_float16_rtzDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z19convert_float16_rtzDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z23_cl_convert_float16_rtzDv16_f(<16 x float> %a)
  ret <16 x float> %call
}


declare float @_Z21_cl_convert_float_satf(float) local_unnamed_addr #0

define spir_func float @_Z17convert_float_satf(float %a) local_unnamed_addr #0 {
  %call = tail call float @_Z21_cl_convert_float_satf(float %a)
  ret float %call
}


declare <2 x float> @_Z22_cl_convert_float2_satDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z18convert_float2_satDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z22_cl_convert_float2_satDv2_f(<2 x float> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z22_cl_convert_float3_satDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z18convert_float3_satDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z22_cl_convert_float3_satDv3_f(<3 x float> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z22_cl_convert_float4_satDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z18convert_float4_satDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z22_cl_convert_float4_satDv4_f(<4 x float> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z22_cl_convert_float8_satDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z18convert_float8_satDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z22_cl_convert_float8_satDv8_f(<8 x float> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z23_cl_convert_float16_satDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z19convert_float16_satDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z23_cl_convert_float16_satDv16_f(<16 x float> %a)
  ret <16 x float> %call
}


declare float @_Z25_cl_convert_float_sat_rtpf(float) local_unnamed_addr #0

define spir_func float @_Z21convert_float_sat_rtpf(float %a) local_unnamed_addr #0 {
  %call = tail call float @_Z25_cl_convert_float_sat_rtpf(float %a)
  ret float %call
}


declare <2 x float> @_Z26_cl_convert_float2_sat_rtpDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z22convert_float2_sat_rtpDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z26_cl_convert_float2_sat_rtpDv2_f(<2 x float> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z26_cl_convert_float3_sat_rtpDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z22convert_float3_sat_rtpDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z26_cl_convert_float3_sat_rtpDv3_f(<3 x float> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z26_cl_convert_float4_sat_rtpDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z22convert_float4_sat_rtpDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z26_cl_convert_float4_sat_rtpDv4_f(<4 x float> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z26_cl_convert_float8_sat_rtpDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z22convert_float8_sat_rtpDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z26_cl_convert_float8_sat_rtpDv8_f(<8 x float> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z27_cl_convert_float16_sat_rtpDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z23convert_float16_sat_rtpDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z27_cl_convert_float16_sat_rtpDv16_f(<16 x float> %a)
  ret <16 x float> %call
}


declare float @_Z25_cl_convert_float_sat_rtnf(float) local_unnamed_addr #0

define spir_func float @_Z21convert_float_sat_rtnf(float %a) local_unnamed_addr #0 {
  %call = tail call float @_Z25_cl_convert_float_sat_rtnf(float %a)
  ret float %call
}


declare <2 x float> @_Z26_cl_convert_float2_sat_rtnDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z22convert_float2_sat_rtnDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z26_cl_convert_float2_sat_rtnDv2_f(<2 x float> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z26_cl_convert_float3_sat_rtnDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z22convert_float3_sat_rtnDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z26_cl_convert_float3_sat_rtnDv3_f(<3 x float> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z26_cl_convert_float4_sat_rtnDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z22convert_float4_sat_rtnDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z26_cl_convert_float4_sat_rtnDv4_f(<4 x float> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z26_cl_convert_float8_sat_rtnDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z22convert_float8_sat_rtnDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z26_cl_convert_float8_sat_rtnDv8_f(<8 x float> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z27_cl_convert_float16_sat_rtnDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z23convert_float16_sat_rtnDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z27_cl_convert_float16_sat_rtnDv16_f(<16 x float> %a)
  ret <16 x float> %call
}


declare float @_Z25_cl_convert_float_sat_rtef(float) local_unnamed_addr #0

define spir_func float @_Z21convert_float_sat_rtef(float %a) local_unnamed_addr #0 {
  %call = tail call float @_Z25_cl_convert_float_sat_rtef(float %a)
  ret float %call
}


declare <2 x float> @_Z26_cl_convert_float2_sat_rteDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z22convert_float2_sat_rteDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z26_cl_convert_float2_sat_rteDv2_f(<2 x float> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z26_cl_convert_float3_sat_rteDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z22convert_float3_sat_rteDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z26_cl_convert_float3_sat_rteDv3_f(<3 x float> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z26_cl_convert_float4_sat_rteDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z22convert_float4_sat_rteDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z26_cl_convert_float4_sat_rteDv4_f(<4 x float> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z26_cl_convert_float8_sat_rteDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z22convert_float8_sat_rteDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z26_cl_convert_float8_sat_rteDv8_f(<8 x float> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z27_cl_convert_float16_sat_rteDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z23convert_float16_sat_rteDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z27_cl_convert_float16_sat_rteDv16_f(<16 x float> %a)
  ret <16 x float> %call
}


declare float @_Z25_cl_convert_float_sat_rtzf(float) local_unnamed_addr #0

define spir_func float @_Z21convert_float_sat_rtzf(float %a) local_unnamed_addr #0 {
  %call = tail call float @_Z25_cl_convert_float_sat_rtzf(float %a)
  ret float %call
}


declare <2 x float> @_Z26_cl_convert_float2_sat_rtzDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x float> @_Z22convert_float2_sat_rtzDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z26_cl_convert_float2_sat_rtzDv2_f(<2 x float> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z26_cl_convert_float3_sat_rtzDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x float> @_Z22convert_float3_sat_rtzDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z26_cl_convert_float3_sat_rtzDv3_f(<3 x float> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z26_cl_convert_float4_sat_rtzDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x float> @_Z22convert_float4_sat_rtzDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z26_cl_convert_float4_sat_rtzDv4_f(<4 x float> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z26_cl_convert_float8_sat_rtzDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x float> @_Z22convert_float8_sat_rtzDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z26_cl_convert_float8_sat_rtzDv8_f(<8 x float> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z27_cl_convert_float16_sat_rtzDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x float> @_Z23convert_float16_sat_rtzDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z27_cl_convert_float16_sat_rtzDv16_f(<16 x float> %a)
  ret <16 x float> %call
}


declare float @_Z17_cl_convert_floatd(double) local_unnamed_addr #0

define spir_func float @_Z13convert_floatd(double %a) local_unnamed_addr #0 {
  %call = tail call float @_Z17_cl_convert_floatd(double %a)
  ret float %call
}


declare <2 x float> @_Z18_cl_convert_float2Dv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x float> @_Z14convert_float2Dv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z18_cl_convert_float2Dv2_d(<2 x double> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z18_cl_convert_float3Dv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x float> @_Z14convert_float3Dv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z18_cl_convert_float3Dv3_d(<3 x double> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z18_cl_convert_float4Dv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x float> @_Z14convert_float4Dv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z18_cl_convert_float4Dv4_d(<4 x double> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z18_cl_convert_float8Dv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x float> @_Z14convert_float8Dv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z18_cl_convert_float8Dv8_d(<8 x double> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z19_cl_convert_float16Dv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x float> @_Z15convert_float16Dv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z19_cl_convert_float16Dv16_d(<16 x double> %a)
  ret <16 x float> %call
}


declare float @_Z21_cl_convert_float_rtpd(double) local_unnamed_addr #0

define spir_func float @_Z17convert_float_rtpd(double %a) local_unnamed_addr #0 {
  %call = tail call float @_Z21_cl_convert_float_rtpd(double %a)
  ret float %call
}


declare <2 x float> @_Z22_cl_convert_float2_rtpDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x float> @_Z18convert_float2_rtpDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z22_cl_convert_float2_rtpDv2_d(<2 x double> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z22_cl_convert_float3_rtpDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x float> @_Z18convert_float3_rtpDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z22_cl_convert_float3_rtpDv3_d(<3 x double> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z22_cl_convert_float4_rtpDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x float> @_Z18convert_float4_rtpDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z22_cl_convert_float4_rtpDv4_d(<4 x double> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z22_cl_convert_float8_rtpDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x float> @_Z18convert_float8_rtpDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z22_cl_convert_float8_rtpDv8_d(<8 x double> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z23_cl_convert_float16_rtpDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x float> @_Z19convert_float16_rtpDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z23_cl_convert_float16_rtpDv16_d(<16 x double> %a)
  ret <16 x float> %call
}


declare float @_Z21_cl_convert_float_rtnd(double) local_unnamed_addr #0

define spir_func float @_Z17convert_float_rtnd(double %a) local_unnamed_addr #0 {
  %call = tail call float @_Z21_cl_convert_float_rtnd(double %a)
  ret float %call
}


declare <2 x float> @_Z22_cl_convert_float2_rtnDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x float> @_Z18convert_float2_rtnDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z22_cl_convert_float2_rtnDv2_d(<2 x double> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z22_cl_convert_float3_rtnDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x float> @_Z18convert_float3_rtnDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z22_cl_convert_float3_rtnDv3_d(<3 x double> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z22_cl_convert_float4_rtnDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x float> @_Z18convert_float4_rtnDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z22_cl_convert_float4_rtnDv4_d(<4 x double> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z22_cl_convert_float8_rtnDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x float> @_Z18convert_float8_rtnDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z22_cl_convert_float8_rtnDv8_d(<8 x double> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z23_cl_convert_float16_rtnDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x float> @_Z19convert_float16_rtnDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z23_cl_convert_float16_rtnDv16_d(<16 x double> %a)
  ret <16 x float> %call
}


declare float @_Z21_cl_convert_float_rted(double) local_unnamed_addr #0

define spir_func float @_Z17convert_float_rted(double %a) local_unnamed_addr #0 {
  %call = tail call float @_Z21_cl_convert_float_rted(double %a)
  ret float %call
}


declare <2 x float> @_Z22_cl_convert_float2_rteDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x float> @_Z18convert_float2_rteDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z22_cl_convert_float2_rteDv2_d(<2 x double> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z22_cl_convert_float3_rteDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x float> @_Z18convert_float3_rteDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z22_cl_convert_float3_rteDv3_d(<3 x double> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z22_cl_convert_float4_rteDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x float> @_Z18convert_float4_rteDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z22_cl_convert_float4_rteDv4_d(<4 x double> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z22_cl_convert_float8_rteDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x float> @_Z18convert_float8_rteDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z22_cl_convert_float8_rteDv8_d(<8 x double> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z23_cl_convert_float16_rteDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x float> @_Z19convert_float16_rteDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z23_cl_convert_float16_rteDv16_d(<16 x double> %a)
  ret <16 x float> %call
}


declare float @_Z21_cl_convert_float_rtzd(double) local_unnamed_addr #0

define spir_func float @_Z17convert_float_rtzd(double %a) local_unnamed_addr #0 {
  %call = tail call float @_Z21_cl_convert_float_rtzd(double %a)
  ret float %call
}


declare <2 x float> @_Z22_cl_convert_float2_rtzDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x float> @_Z18convert_float2_rtzDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z22_cl_convert_float2_rtzDv2_d(<2 x double> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z22_cl_convert_float3_rtzDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x float> @_Z18convert_float3_rtzDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z22_cl_convert_float3_rtzDv3_d(<3 x double> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z22_cl_convert_float4_rtzDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x float> @_Z18convert_float4_rtzDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z22_cl_convert_float4_rtzDv4_d(<4 x double> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z22_cl_convert_float8_rtzDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x float> @_Z18convert_float8_rtzDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z22_cl_convert_float8_rtzDv8_d(<8 x double> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z23_cl_convert_float16_rtzDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x float> @_Z19convert_float16_rtzDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z23_cl_convert_float16_rtzDv16_d(<16 x double> %a)
  ret <16 x float> %call
}


declare float @_Z21_cl_convert_float_satd(double) local_unnamed_addr #0

define spir_func float @_Z17convert_float_satd(double %a) local_unnamed_addr #0 {
  %call = tail call float @_Z21_cl_convert_float_satd(double %a)
  ret float %call
}


declare <2 x float> @_Z22_cl_convert_float2_satDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x float> @_Z18convert_float2_satDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z22_cl_convert_float2_satDv2_d(<2 x double> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z22_cl_convert_float3_satDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x float> @_Z18convert_float3_satDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z22_cl_convert_float3_satDv3_d(<3 x double> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z22_cl_convert_float4_satDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x float> @_Z18convert_float4_satDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z22_cl_convert_float4_satDv4_d(<4 x double> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z22_cl_convert_float8_satDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x float> @_Z18convert_float8_satDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z22_cl_convert_float8_satDv8_d(<8 x double> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z23_cl_convert_float16_satDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x float> @_Z19convert_float16_satDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z23_cl_convert_float16_satDv16_d(<16 x double> %a)
  ret <16 x float> %call
}


declare float @_Z25_cl_convert_float_sat_rtpd(double) local_unnamed_addr #0

define spir_func float @_Z21convert_float_sat_rtpd(double %a) local_unnamed_addr #0 {
  %call = tail call float @_Z25_cl_convert_float_sat_rtpd(double %a)
  ret float %call
}


declare <2 x float> @_Z26_cl_convert_float2_sat_rtpDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x float> @_Z22convert_float2_sat_rtpDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z26_cl_convert_float2_sat_rtpDv2_d(<2 x double> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z26_cl_convert_float3_sat_rtpDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x float> @_Z22convert_float3_sat_rtpDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z26_cl_convert_float3_sat_rtpDv3_d(<3 x double> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z26_cl_convert_float4_sat_rtpDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x float> @_Z22convert_float4_sat_rtpDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z26_cl_convert_float4_sat_rtpDv4_d(<4 x double> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z26_cl_convert_float8_sat_rtpDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x float> @_Z22convert_float8_sat_rtpDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z26_cl_convert_float8_sat_rtpDv8_d(<8 x double> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z27_cl_convert_float16_sat_rtpDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x float> @_Z23convert_float16_sat_rtpDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z27_cl_convert_float16_sat_rtpDv16_d(<16 x double> %a)
  ret <16 x float> %call
}


declare float @_Z25_cl_convert_float_sat_rtnd(double) local_unnamed_addr #0

define spir_func float @_Z21convert_float_sat_rtnd(double %a) local_unnamed_addr #0 {
  %call = tail call float @_Z25_cl_convert_float_sat_rtnd(double %a)
  ret float %call
}


declare <2 x float> @_Z26_cl_convert_float2_sat_rtnDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x float> @_Z22convert_float2_sat_rtnDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z26_cl_convert_float2_sat_rtnDv2_d(<2 x double> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z26_cl_convert_float3_sat_rtnDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x float> @_Z22convert_float3_sat_rtnDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z26_cl_convert_float3_sat_rtnDv3_d(<3 x double> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z26_cl_convert_float4_sat_rtnDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x float> @_Z22convert_float4_sat_rtnDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z26_cl_convert_float4_sat_rtnDv4_d(<4 x double> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z26_cl_convert_float8_sat_rtnDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x float> @_Z22convert_float8_sat_rtnDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z26_cl_convert_float8_sat_rtnDv8_d(<8 x double> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z27_cl_convert_float16_sat_rtnDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x float> @_Z23convert_float16_sat_rtnDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z27_cl_convert_float16_sat_rtnDv16_d(<16 x double> %a)
  ret <16 x float> %call
}


declare float @_Z25_cl_convert_float_sat_rted(double) local_unnamed_addr #0

define spir_func float @_Z21convert_float_sat_rted(double %a) local_unnamed_addr #0 {
  %call = tail call float @_Z25_cl_convert_float_sat_rted(double %a)
  ret float %call
}


declare <2 x float> @_Z26_cl_convert_float2_sat_rteDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x float> @_Z22convert_float2_sat_rteDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z26_cl_convert_float2_sat_rteDv2_d(<2 x double> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z26_cl_convert_float3_sat_rteDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x float> @_Z22convert_float3_sat_rteDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z26_cl_convert_float3_sat_rteDv3_d(<3 x double> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z26_cl_convert_float4_sat_rteDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x float> @_Z22convert_float4_sat_rteDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z26_cl_convert_float4_sat_rteDv4_d(<4 x double> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z26_cl_convert_float8_sat_rteDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x float> @_Z22convert_float8_sat_rteDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z26_cl_convert_float8_sat_rteDv8_d(<8 x double> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z27_cl_convert_float16_sat_rteDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x float> @_Z23convert_float16_sat_rteDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z27_cl_convert_float16_sat_rteDv16_d(<16 x double> %a)
  ret <16 x float> %call
}


declare float @_Z25_cl_convert_float_sat_rtzd(double) local_unnamed_addr #0

define spir_func float @_Z21convert_float_sat_rtzd(double %a) local_unnamed_addr #0 {
  %call = tail call float @_Z25_cl_convert_float_sat_rtzd(double %a)
  ret float %call
}


declare <2 x float> @_Z26_cl_convert_float2_sat_rtzDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x float> @_Z22convert_float2_sat_rtzDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x float> @_Z26_cl_convert_float2_sat_rtzDv2_d(<2 x double> %a)
  ret <2 x float> %call
}


declare <3 x float> @_Z26_cl_convert_float3_sat_rtzDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x float> @_Z22convert_float3_sat_rtzDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x float> @_Z26_cl_convert_float3_sat_rtzDv3_d(<3 x double> %a)
  ret <3 x float> %call
}


declare <4 x float> @_Z26_cl_convert_float4_sat_rtzDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x float> @_Z22convert_float4_sat_rtzDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x float> @_Z26_cl_convert_float4_sat_rtzDv4_d(<4 x double> %a)
  ret <4 x float> %call
}


declare <8 x float> @_Z26_cl_convert_float8_sat_rtzDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x float> @_Z22convert_float8_sat_rtzDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x float> @_Z26_cl_convert_float8_sat_rtzDv8_d(<8 x double> %a)
  ret <8 x float> %call
}


declare <16 x float> @_Z27_cl_convert_float16_sat_rtzDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x float> @_Z23convert_float16_sat_rtzDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x float> @_Z27_cl_convert_float16_sat_rtzDv16_d(<16 x double> %a)
  ret <16 x float> %call
}


declare double @_Z18_cl_convert_doublec(i8) local_unnamed_addr #0

define spir_func double @_Z14convert_doublec(i8 %a) local_unnamed_addr #0 {
  %call = tail call double @_Z18_cl_convert_doublec(i8 %a)
  ret double %call
}


declare <2 x double> @_Z19_cl_convert_double2Dv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x double> @_Z15convert_double2Dv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z19_cl_convert_double2Dv2_c(<2 x i8> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z19_cl_convert_double3Dv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x double> @_Z15convert_double3Dv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z19_cl_convert_double3Dv3_c(<3 x i8> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z19_cl_convert_double4Dv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x double> @_Z15convert_double4Dv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z19_cl_convert_double4Dv4_c(<4 x i8> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z19_cl_convert_double8Dv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x double> @_Z15convert_double8Dv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z19_cl_convert_double8Dv8_c(<8 x i8> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z20_cl_convert_double16Dv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x double> @_Z16convert_double16Dv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z20_cl_convert_double16Dv16_c(<16 x i8> %a)
  ret <16 x double> %call
}


declare double @_Z22_cl_convert_double_rtpc(i8) local_unnamed_addr #0

define spir_func double @_Z18convert_double_rtpc(i8 %a) local_unnamed_addr #0 {
  %call = tail call double @_Z22_cl_convert_double_rtpc(i8 %a)
  ret double %call
}


declare <2 x double> @_Z23_cl_convert_double2_rtpDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x double> @_Z19convert_double2_rtpDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z23_cl_convert_double2_rtpDv2_c(<2 x i8> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z23_cl_convert_double3_rtpDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x double> @_Z19convert_double3_rtpDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z23_cl_convert_double3_rtpDv3_c(<3 x i8> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z23_cl_convert_double4_rtpDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x double> @_Z19convert_double4_rtpDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z23_cl_convert_double4_rtpDv4_c(<4 x i8> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z23_cl_convert_double8_rtpDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x double> @_Z19convert_double8_rtpDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z23_cl_convert_double8_rtpDv8_c(<8 x i8> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z24_cl_convert_double16_rtpDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x double> @_Z20convert_double16_rtpDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z24_cl_convert_double16_rtpDv16_c(<16 x i8> %a)
  ret <16 x double> %call
}


declare double @_Z22_cl_convert_double_rtnc(i8) local_unnamed_addr #0

define spir_func double @_Z18convert_double_rtnc(i8 %a) local_unnamed_addr #0 {
  %call = tail call double @_Z22_cl_convert_double_rtnc(i8 %a)
  ret double %call
}


declare <2 x double> @_Z23_cl_convert_double2_rtnDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x double> @_Z19convert_double2_rtnDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z23_cl_convert_double2_rtnDv2_c(<2 x i8> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z23_cl_convert_double3_rtnDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x double> @_Z19convert_double3_rtnDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z23_cl_convert_double3_rtnDv3_c(<3 x i8> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z23_cl_convert_double4_rtnDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x double> @_Z19convert_double4_rtnDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z23_cl_convert_double4_rtnDv4_c(<4 x i8> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z23_cl_convert_double8_rtnDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x double> @_Z19convert_double8_rtnDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z23_cl_convert_double8_rtnDv8_c(<8 x i8> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z24_cl_convert_double16_rtnDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x double> @_Z20convert_double16_rtnDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z24_cl_convert_double16_rtnDv16_c(<16 x i8> %a)
  ret <16 x double> %call
}


declare double @_Z22_cl_convert_double_rtec(i8) local_unnamed_addr #0

define spir_func double @_Z18convert_double_rtec(i8 %a) local_unnamed_addr #0 {
  %call = tail call double @_Z22_cl_convert_double_rtec(i8 %a)
  ret double %call
}


declare <2 x double> @_Z23_cl_convert_double2_rteDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x double> @_Z19convert_double2_rteDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z23_cl_convert_double2_rteDv2_c(<2 x i8> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z23_cl_convert_double3_rteDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x double> @_Z19convert_double3_rteDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z23_cl_convert_double3_rteDv3_c(<3 x i8> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z23_cl_convert_double4_rteDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x double> @_Z19convert_double4_rteDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z23_cl_convert_double4_rteDv4_c(<4 x i8> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z23_cl_convert_double8_rteDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x double> @_Z19convert_double8_rteDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z23_cl_convert_double8_rteDv8_c(<8 x i8> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z24_cl_convert_double16_rteDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x double> @_Z20convert_double16_rteDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z24_cl_convert_double16_rteDv16_c(<16 x i8> %a)
  ret <16 x double> %call
}


declare double @_Z22_cl_convert_double_rtzc(i8) local_unnamed_addr #0

define spir_func double @_Z18convert_double_rtzc(i8 %a) local_unnamed_addr #0 {
  %call = tail call double @_Z22_cl_convert_double_rtzc(i8 %a)
  ret double %call
}


declare <2 x double> @_Z23_cl_convert_double2_rtzDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x double> @_Z19convert_double2_rtzDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z23_cl_convert_double2_rtzDv2_c(<2 x i8> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z23_cl_convert_double3_rtzDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x double> @_Z19convert_double3_rtzDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z23_cl_convert_double3_rtzDv3_c(<3 x i8> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z23_cl_convert_double4_rtzDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x double> @_Z19convert_double4_rtzDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z23_cl_convert_double4_rtzDv4_c(<4 x i8> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z23_cl_convert_double8_rtzDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x double> @_Z19convert_double8_rtzDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z23_cl_convert_double8_rtzDv8_c(<8 x i8> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z24_cl_convert_double16_rtzDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x double> @_Z20convert_double16_rtzDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z24_cl_convert_double16_rtzDv16_c(<16 x i8> %a)
  ret <16 x double> %call
}


declare double @_Z22_cl_convert_double_satc(i8) local_unnamed_addr #0

define spir_func double @_Z18convert_double_satc(i8 %a) local_unnamed_addr #0 {
  %call = tail call double @_Z22_cl_convert_double_satc(i8 %a)
  ret double %call
}


declare <2 x double> @_Z23_cl_convert_double2_satDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x double> @_Z19convert_double2_satDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z23_cl_convert_double2_satDv2_c(<2 x i8> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z23_cl_convert_double3_satDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x double> @_Z19convert_double3_satDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z23_cl_convert_double3_satDv3_c(<3 x i8> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z23_cl_convert_double4_satDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x double> @_Z19convert_double4_satDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z23_cl_convert_double4_satDv4_c(<4 x i8> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z23_cl_convert_double8_satDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x double> @_Z19convert_double8_satDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z23_cl_convert_double8_satDv8_c(<8 x i8> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z24_cl_convert_double16_satDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x double> @_Z20convert_double16_satDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z24_cl_convert_double16_satDv16_c(<16 x i8> %a)
  ret <16 x double> %call
}


declare double @_Z26_cl_convert_double_sat_rtpc(i8) local_unnamed_addr #0

define spir_func double @_Z22convert_double_sat_rtpc(i8 %a) local_unnamed_addr #0 {
  %call = tail call double @_Z26_cl_convert_double_sat_rtpc(i8 %a)
  ret double %call
}


declare <2 x double> @_Z27_cl_convert_double2_sat_rtpDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x double> @_Z23convert_double2_sat_rtpDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z27_cl_convert_double2_sat_rtpDv2_c(<2 x i8> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z27_cl_convert_double3_sat_rtpDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x double> @_Z23convert_double3_sat_rtpDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z27_cl_convert_double3_sat_rtpDv3_c(<3 x i8> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z27_cl_convert_double4_sat_rtpDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x double> @_Z23convert_double4_sat_rtpDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z27_cl_convert_double4_sat_rtpDv4_c(<4 x i8> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z27_cl_convert_double8_sat_rtpDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x double> @_Z23convert_double8_sat_rtpDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z27_cl_convert_double8_sat_rtpDv8_c(<8 x i8> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z28_cl_convert_double16_sat_rtpDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x double> @_Z24convert_double16_sat_rtpDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z28_cl_convert_double16_sat_rtpDv16_c(<16 x i8> %a)
  ret <16 x double> %call
}


declare double @_Z26_cl_convert_double_sat_rtnc(i8) local_unnamed_addr #0

define spir_func double @_Z22convert_double_sat_rtnc(i8 %a) local_unnamed_addr #0 {
  %call = tail call double @_Z26_cl_convert_double_sat_rtnc(i8 %a)
  ret double %call
}


declare <2 x double> @_Z27_cl_convert_double2_sat_rtnDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x double> @_Z23convert_double2_sat_rtnDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z27_cl_convert_double2_sat_rtnDv2_c(<2 x i8> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z27_cl_convert_double3_sat_rtnDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x double> @_Z23convert_double3_sat_rtnDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z27_cl_convert_double3_sat_rtnDv3_c(<3 x i8> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z27_cl_convert_double4_sat_rtnDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x double> @_Z23convert_double4_sat_rtnDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z27_cl_convert_double4_sat_rtnDv4_c(<4 x i8> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z27_cl_convert_double8_sat_rtnDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x double> @_Z23convert_double8_sat_rtnDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z27_cl_convert_double8_sat_rtnDv8_c(<8 x i8> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z28_cl_convert_double16_sat_rtnDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x double> @_Z24convert_double16_sat_rtnDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z28_cl_convert_double16_sat_rtnDv16_c(<16 x i8> %a)
  ret <16 x double> %call
}


declare double @_Z26_cl_convert_double_sat_rtec(i8) local_unnamed_addr #0

define spir_func double @_Z22convert_double_sat_rtec(i8 %a) local_unnamed_addr #0 {
  %call = tail call double @_Z26_cl_convert_double_sat_rtec(i8 %a)
  ret double %call
}


declare <2 x double> @_Z27_cl_convert_double2_sat_rteDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x double> @_Z23convert_double2_sat_rteDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z27_cl_convert_double2_sat_rteDv2_c(<2 x i8> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z27_cl_convert_double3_sat_rteDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x double> @_Z23convert_double3_sat_rteDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z27_cl_convert_double3_sat_rteDv3_c(<3 x i8> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z27_cl_convert_double4_sat_rteDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x double> @_Z23convert_double4_sat_rteDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z27_cl_convert_double4_sat_rteDv4_c(<4 x i8> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z27_cl_convert_double8_sat_rteDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x double> @_Z23convert_double8_sat_rteDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z27_cl_convert_double8_sat_rteDv8_c(<8 x i8> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z28_cl_convert_double16_sat_rteDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x double> @_Z24convert_double16_sat_rteDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z28_cl_convert_double16_sat_rteDv16_c(<16 x i8> %a)
  ret <16 x double> %call
}


declare double @_Z26_cl_convert_double_sat_rtzc(i8) local_unnamed_addr #0

define spir_func double @_Z22convert_double_sat_rtzc(i8 %a) local_unnamed_addr #0 {
  %call = tail call double @_Z26_cl_convert_double_sat_rtzc(i8 %a)
  ret double %call
}


declare <2 x double> @_Z27_cl_convert_double2_sat_rtzDv2_c(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x double> @_Z23convert_double2_sat_rtzDv2_c(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z27_cl_convert_double2_sat_rtzDv2_c(<2 x i8> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z27_cl_convert_double3_sat_rtzDv3_c(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x double> @_Z23convert_double3_sat_rtzDv3_c(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z27_cl_convert_double3_sat_rtzDv3_c(<3 x i8> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z27_cl_convert_double4_sat_rtzDv4_c(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x double> @_Z23convert_double4_sat_rtzDv4_c(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z27_cl_convert_double4_sat_rtzDv4_c(<4 x i8> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z27_cl_convert_double8_sat_rtzDv8_c(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x double> @_Z23convert_double8_sat_rtzDv8_c(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z27_cl_convert_double8_sat_rtzDv8_c(<8 x i8> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z28_cl_convert_double16_sat_rtzDv16_c(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x double> @_Z24convert_double16_sat_rtzDv16_c(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z28_cl_convert_double16_sat_rtzDv16_c(<16 x i8> %a)
  ret <16 x double> %call
}


declare double @_Z18_cl_convert_doubleh(i8) local_unnamed_addr #0

define spir_func double @_Z14convert_doubleh(i8 %a) local_unnamed_addr #0 {
  %call = tail call double @_Z18_cl_convert_doubleh(i8 %a)
  ret double %call
}


declare <2 x double> @_Z19_cl_convert_double2Dv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x double> @_Z15convert_double2Dv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z19_cl_convert_double2Dv2_h(<2 x i8> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z19_cl_convert_double3Dv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x double> @_Z15convert_double3Dv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z19_cl_convert_double3Dv3_h(<3 x i8> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z19_cl_convert_double4Dv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x double> @_Z15convert_double4Dv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z19_cl_convert_double4Dv4_h(<4 x i8> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z19_cl_convert_double8Dv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x double> @_Z15convert_double8Dv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z19_cl_convert_double8Dv8_h(<8 x i8> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z20_cl_convert_double16Dv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x double> @_Z16convert_double16Dv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z20_cl_convert_double16Dv16_h(<16 x i8> %a)
  ret <16 x double> %call
}


declare double @_Z22_cl_convert_double_rtph(i8) local_unnamed_addr #0

define spir_func double @_Z18convert_double_rtph(i8 %a) local_unnamed_addr #0 {
  %call = tail call double @_Z22_cl_convert_double_rtph(i8 %a)
  ret double %call
}


declare <2 x double> @_Z23_cl_convert_double2_rtpDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x double> @_Z19convert_double2_rtpDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z23_cl_convert_double2_rtpDv2_h(<2 x i8> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z23_cl_convert_double3_rtpDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x double> @_Z19convert_double3_rtpDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z23_cl_convert_double3_rtpDv3_h(<3 x i8> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z23_cl_convert_double4_rtpDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x double> @_Z19convert_double4_rtpDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z23_cl_convert_double4_rtpDv4_h(<4 x i8> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z23_cl_convert_double8_rtpDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x double> @_Z19convert_double8_rtpDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z23_cl_convert_double8_rtpDv8_h(<8 x i8> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z24_cl_convert_double16_rtpDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x double> @_Z20convert_double16_rtpDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z24_cl_convert_double16_rtpDv16_h(<16 x i8> %a)
  ret <16 x double> %call
}


declare double @_Z22_cl_convert_double_rtnh(i8) local_unnamed_addr #0

define spir_func double @_Z18convert_double_rtnh(i8 %a) local_unnamed_addr #0 {
  %call = tail call double @_Z22_cl_convert_double_rtnh(i8 %a)
  ret double %call
}


declare <2 x double> @_Z23_cl_convert_double2_rtnDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x double> @_Z19convert_double2_rtnDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z23_cl_convert_double2_rtnDv2_h(<2 x i8> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z23_cl_convert_double3_rtnDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x double> @_Z19convert_double3_rtnDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z23_cl_convert_double3_rtnDv3_h(<3 x i8> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z23_cl_convert_double4_rtnDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x double> @_Z19convert_double4_rtnDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z23_cl_convert_double4_rtnDv4_h(<4 x i8> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z23_cl_convert_double8_rtnDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x double> @_Z19convert_double8_rtnDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z23_cl_convert_double8_rtnDv8_h(<8 x i8> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z24_cl_convert_double16_rtnDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x double> @_Z20convert_double16_rtnDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z24_cl_convert_double16_rtnDv16_h(<16 x i8> %a)
  ret <16 x double> %call
}


declare double @_Z22_cl_convert_double_rteh(i8) local_unnamed_addr #0

define spir_func double @_Z18convert_double_rteh(i8 %a) local_unnamed_addr #0 {
  %call = tail call double @_Z22_cl_convert_double_rteh(i8 %a)
  ret double %call
}


declare <2 x double> @_Z23_cl_convert_double2_rteDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x double> @_Z19convert_double2_rteDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z23_cl_convert_double2_rteDv2_h(<2 x i8> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z23_cl_convert_double3_rteDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x double> @_Z19convert_double3_rteDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z23_cl_convert_double3_rteDv3_h(<3 x i8> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z23_cl_convert_double4_rteDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x double> @_Z19convert_double4_rteDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z23_cl_convert_double4_rteDv4_h(<4 x i8> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z23_cl_convert_double8_rteDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x double> @_Z19convert_double8_rteDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z23_cl_convert_double8_rteDv8_h(<8 x i8> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z24_cl_convert_double16_rteDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x double> @_Z20convert_double16_rteDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z24_cl_convert_double16_rteDv16_h(<16 x i8> %a)
  ret <16 x double> %call
}


declare double @_Z22_cl_convert_double_rtzh(i8) local_unnamed_addr #0

define spir_func double @_Z18convert_double_rtzh(i8 %a) local_unnamed_addr #0 {
  %call = tail call double @_Z22_cl_convert_double_rtzh(i8 %a)
  ret double %call
}


declare <2 x double> @_Z23_cl_convert_double2_rtzDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x double> @_Z19convert_double2_rtzDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z23_cl_convert_double2_rtzDv2_h(<2 x i8> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z23_cl_convert_double3_rtzDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x double> @_Z19convert_double3_rtzDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z23_cl_convert_double3_rtzDv3_h(<3 x i8> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z23_cl_convert_double4_rtzDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x double> @_Z19convert_double4_rtzDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z23_cl_convert_double4_rtzDv4_h(<4 x i8> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z23_cl_convert_double8_rtzDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x double> @_Z19convert_double8_rtzDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z23_cl_convert_double8_rtzDv8_h(<8 x i8> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z24_cl_convert_double16_rtzDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x double> @_Z20convert_double16_rtzDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z24_cl_convert_double16_rtzDv16_h(<16 x i8> %a)
  ret <16 x double> %call
}


declare double @_Z22_cl_convert_double_sath(i8) local_unnamed_addr #0

define spir_func double @_Z18convert_double_sath(i8 %a) local_unnamed_addr #0 {
  %call = tail call double @_Z22_cl_convert_double_sath(i8 %a)
  ret double %call
}


declare <2 x double> @_Z23_cl_convert_double2_satDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x double> @_Z19convert_double2_satDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z23_cl_convert_double2_satDv2_h(<2 x i8> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z23_cl_convert_double3_satDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x double> @_Z19convert_double3_satDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z23_cl_convert_double3_satDv3_h(<3 x i8> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z23_cl_convert_double4_satDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x double> @_Z19convert_double4_satDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z23_cl_convert_double4_satDv4_h(<4 x i8> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z23_cl_convert_double8_satDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x double> @_Z19convert_double8_satDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z23_cl_convert_double8_satDv8_h(<8 x i8> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z24_cl_convert_double16_satDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x double> @_Z20convert_double16_satDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z24_cl_convert_double16_satDv16_h(<16 x i8> %a)
  ret <16 x double> %call
}


declare double @_Z26_cl_convert_double_sat_rtph(i8) local_unnamed_addr #0

define spir_func double @_Z22convert_double_sat_rtph(i8 %a) local_unnamed_addr #0 {
  %call = tail call double @_Z26_cl_convert_double_sat_rtph(i8 %a)
  ret double %call
}


declare <2 x double> @_Z27_cl_convert_double2_sat_rtpDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x double> @_Z23convert_double2_sat_rtpDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z27_cl_convert_double2_sat_rtpDv2_h(<2 x i8> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z27_cl_convert_double3_sat_rtpDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x double> @_Z23convert_double3_sat_rtpDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z27_cl_convert_double3_sat_rtpDv3_h(<3 x i8> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z27_cl_convert_double4_sat_rtpDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x double> @_Z23convert_double4_sat_rtpDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z27_cl_convert_double4_sat_rtpDv4_h(<4 x i8> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z27_cl_convert_double8_sat_rtpDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x double> @_Z23convert_double8_sat_rtpDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z27_cl_convert_double8_sat_rtpDv8_h(<8 x i8> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z28_cl_convert_double16_sat_rtpDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x double> @_Z24convert_double16_sat_rtpDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z28_cl_convert_double16_sat_rtpDv16_h(<16 x i8> %a)
  ret <16 x double> %call
}


declare double @_Z26_cl_convert_double_sat_rtnh(i8) local_unnamed_addr #0

define spir_func double @_Z22convert_double_sat_rtnh(i8 %a) local_unnamed_addr #0 {
  %call = tail call double @_Z26_cl_convert_double_sat_rtnh(i8 %a)
  ret double %call
}


declare <2 x double> @_Z27_cl_convert_double2_sat_rtnDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x double> @_Z23convert_double2_sat_rtnDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z27_cl_convert_double2_sat_rtnDv2_h(<2 x i8> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z27_cl_convert_double3_sat_rtnDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x double> @_Z23convert_double3_sat_rtnDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z27_cl_convert_double3_sat_rtnDv3_h(<3 x i8> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z27_cl_convert_double4_sat_rtnDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x double> @_Z23convert_double4_sat_rtnDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z27_cl_convert_double4_sat_rtnDv4_h(<4 x i8> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z27_cl_convert_double8_sat_rtnDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x double> @_Z23convert_double8_sat_rtnDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z27_cl_convert_double8_sat_rtnDv8_h(<8 x i8> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z28_cl_convert_double16_sat_rtnDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x double> @_Z24convert_double16_sat_rtnDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z28_cl_convert_double16_sat_rtnDv16_h(<16 x i8> %a)
  ret <16 x double> %call
}


declare double @_Z26_cl_convert_double_sat_rteh(i8) local_unnamed_addr #0

define spir_func double @_Z22convert_double_sat_rteh(i8 %a) local_unnamed_addr #0 {
  %call = tail call double @_Z26_cl_convert_double_sat_rteh(i8 %a)
  ret double %call
}


declare <2 x double> @_Z27_cl_convert_double2_sat_rteDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x double> @_Z23convert_double2_sat_rteDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z27_cl_convert_double2_sat_rteDv2_h(<2 x i8> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z27_cl_convert_double3_sat_rteDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x double> @_Z23convert_double3_sat_rteDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z27_cl_convert_double3_sat_rteDv3_h(<3 x i8> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z27_cl_convert_double4_sat_rteDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x double> @_Z23convert_double4_sat_rteDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z27_cl_convert_double4_sat_rteDv4_h(<4 x i8> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z27_cl_convert_double8_sat_rteDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x double> @_Z23convert_double8_sat_rteDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z27_cl_convert_double8_sat_rteDv8_h(<8 x i8> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z28_cl_convert_double16_sat_rteDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x double> @_Z24convert_double16_sat_rteDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z28_cl_convert_double16_sat_rteDv16_h(<16 x i8> %a)
  ret <16 x double> %call
}


declare double @_Z26_cl_convert_double_sat_rtzh(i8) local_unnamed_addr #0

define spir_func double @_Z22convert_double_sat_rtzh(i8 %a) local_unnamed_addr #0 {
  %call = tail call double @_Z26_cl_convert_double_sat_rtzh(i8 %a)
  ret double %call
}


declare <2 x double> @_Z27_cl_convert_double2_sat_rtzDv2_h(<2 x i8>) local_unnamed_addr #0

define spir_func <2 x double> @_Z23convert_double2_sat_rtzDv2_h(<2 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z27_cl_convert_double2_sat_rtzDv2_h(<2 x i8> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z27_cl_convert_double3_sat_rtzDv3_h(<3 x i8>) local_unnamed_addr #0

define spir_func <3 x double> @_Z23convert_double3_sat_rtzDv3_h(<3 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z27_cl_convert_double3_sat_rtzDv3_h(<3 x i8> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z27_cl_convert_double4_sat_rtzDv4_h(<4 x i8>) local_unnamed_addr #0

define spir_func <4 x double> @_Z23convert_double4_sat_rtzDv4_h(<4 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z27_cl_convert_double4_sat_rtzDv4_h(<4 x i8> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z27_cl_convert_double8_sat_rtzDv8_h(<8 x i8>) local_unnamed_addr #0

define spir_func <8 x double> @_Z23convert_double8_sat_rtzDv8_h(<8 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z27_cl_convert_double8_sat_rtzDv8_h(<8 x i8> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z28_cl_convert_double16_sat_rtzDv16_h(<16 x i8>) local_unnamed_addr #0

define spir_func <16 x double> @_Z24convert_double16_sat_rtzDv16_h(<16 x i8> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z28_cl_convert_double16_sat_rtzDv16_h(<16 x i8> %a)
  ret <16 x double> %call
}


declare double @_Z18_cl_convert_doubles(i16) local_unnamed_addr #0

define spir_func double @_Z14convert_doubles(i16 %a) local_unnamed_addr #0 {
  %call = tail call double @_Z18_cl_convert_doubles(i16 %a)
  ret double %call
}


declare <2 x double> @_Z19_cl_convert_double2Dv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x double> @_Z15convert_double2Dv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z19_cl_convert_double2Dv2_s(<2 x i16> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z19_cl_convert_double3Dv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x double> @_Z15convert_double3Dv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z19_cl_convert_double3Dv3_s(<3 x i16> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z19_cl_convert_double4Dv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x double> @_Z15convert_double4Dv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z19_cl_convert_double4Dv4_s(<4 x i16> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z19_cl_convert_double8Dv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x double> @_Z15convert_double8Dv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z19_cl_convert_double8Dv8_s(<8 x i16> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z20_cl_convert_double16Dv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x double> @_Z16convert_double16Dv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z20_cl_convert_double16Dv16_s(<16 x i16> %a)
  ret <16 x double> %call
}


declare double @_Z22_cl_convert_double_rtps(i16) local_unnamed_addr #0

define spir_func double @_Z18convert_double_rtps(i16 %a) local_unnamed_addr #0 {
  %call = tail call double @_Z22_cl_convert_double_rtps(i16 %a)
  ret double %call
}


declare <2 x double> @_Z23_cl_convert_double2_rtpDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x double> @_Z19convert_double2_rtpDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z23_cl_convert_double2_rtpDv2_s(<2 x i16> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z23_cl_convert_double3_rtpDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x double> @_Z19convert_double3_rtpDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z23_cl_convert_double3_rtpDv3_s(<3 x i16> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z23_cl_convert_double4_rtpDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x double> @_Z19convert_double4_rtpDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z23_cl_convert_double4_rtpDv4_s(<4 x i16> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z23_cl_convert_double8_rtpDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x double> @_Z19convert_double8_rtpDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z23_cl_convert_double8_rtpDv8_s(<8 x i16> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z24_cl_convert_double16_rtpDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x double> @_Z20convert_double16_rtpDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z24_cl_convert_double16_rtpDv16_s(<16 x i16> %a)
  ret <16 x double> %call
}


declare double @_Z22_cl_convert_double_rtns(i16) local_unnamed_addr #0

define spir_func double @_Z18convert_double_rtns(i16 %a) local_unnamed_addr #0 {
  %call = tail call double @_Z22_cl_convert_double_rtns(i16 %a)
  ret double %call
}


declare <2 x double> @_Z23_cl_convert_double2_rtnDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x double> @_Z19convert_double2_rtnDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z23_cl_convert_double2_rtnDv2_s(<2 x i16> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z23_cl_convert_double3_rtnDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x double> @_Z19convert_double3_rtnDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z23_cl_convert_double3_rtnDv3_s(<3 x i16> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z23_cl_convert_double4_rtnDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x double> @_Z19convert_double4_rtnDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z23_cl_convert_double4_rtnDv4_s(<4 x i16> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z23_cl_convert_double8_rtnDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x double> @_Z19convert_double8_rtnDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z23_cl_convert_double8_rtnDv8_s(<8 x i16> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z24_cl_convert_double16_rtnDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x double> @_Z20convert_double16_rtnDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z24_cl_convert_double16_rtnDv16_s(<16 x i16> %a)
  ret <16 x double> %call
}


declare double @_Z22_cl_convert_double_rtes(i16) local_unnamed_addr #0

define spir_func double @_Z18convert_double_rtes(i16 %a) local_unnamed_addr #0 {
  %call = tail call double @_Z22_cl_convert_double_rtes(i16 %a)
  ret double %call
}


declare <2 x double> @_Z23_cl_convert_double2_rteDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x double> @_Z19convert_double2_rteDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z23_cl_convert_double2_rteDv2_s(<2 x i16> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z23_cl_convert_double3_rteDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x double> @_Z19convert_double3_rteDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z23_cl_convert_double3_rteDv3_s(<3 x i16> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z23_cl_convert_double4_rteDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x double> @_Z19convert_double4_rteDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z23_cl_convert_double4_rteDv4_s(<4 x i16> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z23_cl_convert_double8_rteDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x double> @_Z19convert_double8_rteDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z23_cl_convert_double8_rteDv8_s(<8 x i16> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z24_cl_convert_double16_rteDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x double> @_Z20convert_double16_rteDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z24_cl_convert_double16_rteDv16_s(<16 x i16> %a)
  ret <16 x double> %call
}


declare double @_Z22_cl_convert_double_rtzs(i16) local_unnamed_addr #0

define spir_func double @_Z18convert_double_rtzs(i16 %a) local_unnamed_addr #0 {
  %call = tail call double @_Z22_cl_convert_double_rtzs(i16 %a)
  ret double %call
}


declare <2 x double> @_Z23_cl_convert_double2_rtzDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x double> @_Z19convert_double2_rtzDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z23_cl_convert_double2_rtzDv2_s(<2 x i16> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z23_cl_convert_double3_rtzDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x double> @_Z19convert_double3_rtzDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z23_cl_convert_double3_rtzDv3_s(<3 x i16> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z23_cl_convert_double4_rtzDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x double> @_Z19convert_double4_rtzDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z23_cl_convert_double4_rtzDv4_s(<4 x i16> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z23_cl_convert_double8_rtzDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x double> @_Z19convert_double8_rtzDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z23_cl_convert_double8_rtzDv8_s(<8 x i16> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z24_cl_convert_double16_rtzDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x double> @_Z20convert_double16_rtzDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z24_cl_convert_double16_rtzDv16_s(<16 x i16> %a)
  ret <16 x double> %call
}


declare double @_Z22_cl_convert_double_sats(i16) local_unnamed_addr #0

define spir_func double @_Z18convert_double_sats(i16 %a) local_unnamed_addr #0 {
  %call = tail call double @_Z22_cl_convert_double_sats(i16 %a)
  ret double %call
}


declare <2 x double> @_Z23_cl_convert_double2_satDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x double> @_Z19convert_double2_satDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z23_cl_convert_double2_satDv2_s(<2 x i16> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z23_cl_convert_double3_satDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x double> @_Z19convert_double3_satDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z23_cl_convert_double3_satDv3_s(<3 x i16> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z23_cl_convert_double4_satDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x double> @_Z19convert_double4_satDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z23_cl_convert_double4_satDv4_s(<4 x i16> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z23_cl_convert_double8_satDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x double> @_Z19convert_double8_satDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z23_cl_convert_double8_satDv8_s(<8 x i16> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z24_cl_convert_double16_satDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x double> @_Z20convert_double16_satDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z24_cl_convert_double16_satDv16_s(<16 x i16> %a)
  ret <16 x double> %call
}


declare double @_Z26_cl_convert_double_sat_rtps(i16) local_unnamed_addr #0

define spir_func double @_Z22convert_double_sat_rtps(i16 %a) local_unnamed_addr #0 {
  %call = tail call double @_Z26_cl_convert_double_sat_rtps(i16 %a)
  ret double %call
}


declare <2 x double> @_Z27_cl_convert_double2_sat_rtpDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x double> @_Z23convert_double2_sat_rtpDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z27_cl_convert_double2_sat_rtpDv2_s(<2 x i16> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z27_cl_convert_double3_sat_rtpDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x double> @_Z23convert_double3_sat_rtpDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z27_cl_convert_double3_sat_rtpDv3_s(<3 x i16> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z27_cl_convert_double4_sat_rtpDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x double> @_Z23convert_double4_sat_rtpDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z27_cl_convert_double4_sat_rtpDv4_s(<4 x i16> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z27_cl_convert_double8_sat_rtpDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x double> @_Z23convert_double8_sat_rtpDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z27_cl_convert_double8_sat_rtpDv8_s(<8 x i16> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z28_cl_convert_double16_sat_rtpDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x double> @_Z24convert_double16_sat_rtpDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z28_cl_convert_double16_sat_rtpDv16_s(<16 x i16> %a)
  ret <16 x double> %call
}


declare double @_Z26_cl_convert_double_sat_rtns(i16) local_unnamed_addr #0

define spir_func double @_Z22convert_double_sat_rtns(i16 %a) local_unnamed_addr #0 {
  %call = tail call double @_Z26_cl_convert_double_sat_rtns(i16 %a)
  ret double %call
}


declare <2 x double> @_Z27_cl_convert_double2_sat_rtnDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x double> @_Z23convert_double2_sat_rtnDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z27_cl_convert_double2_sat_rtnDv2_s(<2 x i16> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z27_cl_convert_double3_sat_rtnDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x double> @_Z23convert_double3_sat_rtnDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z27_cl_convert_double3_sat_rtnDv3_s(<3 x i16> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z27_cl_convert_double4_sat_rtnDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x double> @_Z23convert_double4_sat_rtnDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z27_cl_convert_double4_sat_rtnDv4_s(<4 x i16> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z27_cl_convert_double8_sat_rtnDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x double> @_Z23convert_double8_sat_rtnDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z27_cl_convert_double8_sat_rtnDv8_s(<8 x i16> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z28_cl_convert_double16_sat_rtnDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x double> @_Z24convert_double16_sat_rtnDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z28_cl_convert_double16_sat_rtnDv16_s(<16 x i16> %a)
  ret <16 x double> %call
}


declare double @_Z26_cl_convert_double_sat_rtes(i16) local_unnamed_addr #0

define spir_func double @_Z22convert_double_sat_rtes(i16 %a) local_unnamed_addr #0 {
  %call = tail call double @_Z26_cl_convert_double_sat_rtes(i16 %a)
  ret double %call
}


declare <2 x double> @_Z27_cl_convert_double2_sat_rteDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x double> @_Z23convert_double2_sat_rteDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z27_cl_convert_double2_sat_rteDv2_s(<2 x i16> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z27_cl_convert_double3_sat_rteDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x double> @_Z23convert_double3_sat_rteDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z27_cl_convert_double3_sat_rteDv3_s(<3 x i16> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z27_cl_convert_double4_sat_rteDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x double> @_Z23convert_double4_sat_rteDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z27_cl_convert_double4_sat_rteDv4_s(<4 x i16> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z27_cl_convert_double8_sat_rteDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x double> @_Z23convert_double8_sat_rteDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z27_cl_convert_double8_sat_rteDv8_s(<8 x i16> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z28_cl_convert_double16_sat_rteDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x double> @_Z24convert_double16_sat_rteDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z28_cl_convert_double16_sat_rteDv16_s(<16 x i16> %a)
  ret <16 x double> %call
}


declare double @_Z26_cl_convert_double_sat_rtzs(i16) local_unnamed_addr #0

define spir_func double @_Z22convert_double_sat_rtzs(i16 %a) local_unnamed_addr #0 {
  %call = tail call double @_Z26_cl_convert_double_sat_rtzs(i16 %a)
  ret double %call
}


declare <2 x double> @_Z27_cl_convert_double2_sat_rtzDv2_s(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x double> @_Z23convert_double2_sat_rtzDv2_s(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z27_cl_convert_double2_sat_rtzDv2_s(<2 x i16> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z27_cl_convert_double3_sat_rtzDv3_s(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x double> @_Z23convert_double3_sat_rtzDv3_s(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z27_cl_convert_double3_sat_rtzDv3_s(<3 x i16> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z27_cl_convert_double4_sat_rtzDv4_s(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x double> @_Z23convert_double4_sat_rtzDv4_s(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z27_cl_convert_double4_sat_rtzDv4_s(<4 x i16> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z27_cl_convert_double8_sat_rtzDv8_s(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x double> @_Z23convert_double8_sat_rtzDv8_s(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z27_cl_convert_double8_sat_rtzDv8_s(<8 x i16> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z28_cl_convert_double16_sat_rtzDv16_s(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x double> @_Z24convert_double16_sat_rtzDv16_s(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z28_cl_convert_double16_sat_rtzDv16_s(<16 x i16> %a)
  ret <16 x double> %call
}


declare double @_Z18_cl_convert_doublet(i16) local_unnamed_addr #0

define spir_func double @_Z14convert_doublet(i16 %a) local_unnamed_addr #0 {
  %call = tail call double @_Z18_cl_convert_doublet(i16 %a)
  ret double %call
}


declare <2 x double> @_Z19_cl_convert_double2Dv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x double> @_Z15convert_double2Dv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z19_cl_convert_double2Dv2_t(<2 x i16> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z19_cl_convert_double3Dv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x double> @_Z15convert_double3Dv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z19_cl_convert_double3Dv3_t(<3 x i16> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z19_cl_convert_double4Dv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x double> @_Z15convert_double4Dv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z19_cl_convert_double4Dv4_t(<4 x i16> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z19_cl_convert_double8Dv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x double> @_Z15convert_double8Dv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z19_cl_convert_double8Dv8_t(<8 x i16> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z20_cl_convert_double16Dv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x double> @_Z16convert_double16Dv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z20_cl_convert_double16Dv16_t(<16 x i16> %a)
  ret <16 x double> %call
}


declare double @_Z22_cl_convert_double_rtpt(i16) local_unnamed_addr #0

define spir_func double @_Z18convert_double_rtpt(i16 %a) local_unnamed_addr #0 {
  %call = tail call double @_Z22_cl_convert_double_rtpt(i16 %a)
  ret double %call
}


declare <2 x double> @_Z23_cl_convert_double2_rtpDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x double> @_Z19convert_double2_rtpDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z23_cl_convert_double2_rtpDv2_t(<2 x i16> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z23_cl_convert_double3_rtpDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x double> @_Z19convert_double3_rtpDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z23_cl_convert_double3_rtpDv3_t(<3 x i16> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z23_cl_convert_double4_rtpDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x double> @_Z19convert_double4_rtpDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z23_cl_convert_double4_rtpDv4_t(<4 x i16> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z23_cl_convert_double8_rtpDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x double> @_Z19convert_double8_rtpDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z23_cl_convert_double8_rtpDv8_t(<8 x i16> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z24_cl_convert_double16_rtpDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x double> @_Z20convert_double16_rtpDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z24_cl_convert_double16_rtpDv16_t(<16 x i16> %a)
  ret <16 x double> %call
}


declare double @_Z22_cl_convert_double_rtnt(i16) local_unnamed_addr #0

define spir_func double @_Z18convert_double_rtnt(i16 %a) local_unnamed_addr #0 {
  %call = tail call double @_Z22_cl_convert_double_rtnt(i16 %a)
  ret double %call
}


declare <2 x double> @_Z23_cl_convert_double2_rtnDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x double> @_Z19convert_double2_rtnDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z23_cl_convert_double2_rtnDv2_t(<2 x i16> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z23_cl_convert_double3_rtnDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x double> @_Z19convert_double3_rtnDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z23_cl_convert_double3_rtnDv3_t(<3 x i16> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z23_cl_convert_double4_rtnDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x double> @_Z19convert_double4_rtnDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z23_cl_convert_double4_rtnDv4_t(<4 x i16> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z23_cl_convert_double8_rtnDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x double> @_Z19convert_double8_rtnDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z23_cl_convert_double8_rtnDv8_t(<8 x i16> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z24_cl_convert_double16_rtnDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x double> @_Z20convert_double16_rtnDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z24_cl_convert_double16_rtnDv16_t(<16 x i16> %a)
  ret <16 x double> %call
}


declare double @_Z22_cl_convert_double_rtet(i16) local_unnamed_addr #0

define spir_func double @_Z18convert_double_rtet(i16 %a) local_unnamed_addr #0 {
  %call = tail call double @_Z22_cl_convert_double_rtet(i16 %a)
  ret double %call
}


declare <2 x double> @_Z23_cl_convert_double2_rteDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x double> @_Z19convert_double2_rteDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z23_cl_convert_double2_rteDv2_t(<2 x i16> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z23_cl_convert_double3_rteDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x double> @_Z19convert_double3_rteDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z23_cl_convert_double3_rteDv3_t(<3 x i16> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z23_cl_convert_double4_rteDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x double> @_Z19convert_double4_rteDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z23_cl_convert_double4_rteDv4_t(<4 x i16> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z23_cl_convert_double8_rteDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x double> @_Z19convert_double8_rteDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z23_cl_convert_double8_rteDv8_t(<8 x i16> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z24_cl_convert_double16_rteDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x double> @_Z20convert_double16_rteDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z24_cl_convert_double16_rteDv16_t(<16 x i16> %a)
  ret <16 x double> %call
}


declare double @_Z22_cl_convert_double_rtzt(i16) local_unnamed_addr #0

define spir_func double @_Z18convert_double_rtzt(i16 %a) local_unnamed_addr #0 {
  %call = tail call double @_Z22_cl_convert_double_rtzt(i16 %a)
  ret double %call
}


declare <2 x double> @_Z23_cl_convert_double2_rtzDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x double> @_Z19convert_double2_rtzDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z23_cl_convert_double2_rtzDv2_t(<2 x i16> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z23_cl_convert_double3_rtzDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x double> @_Z19convert_double3_rtzDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z23_cl_convert_double3_rtzDv3_t(<3 x i16> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z23_cl_convert_double4_rtzDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x double> @_Z19convert_double4_rtzDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z23_cl_convert_double4_rtzDv4_t(<4 x i16> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z23_cl_convert_double8_rtzDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x double> @_Z19convert_double8_rtzDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z23_cl_convert_double8_rtzDv8_t(<8 x i16> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z24_cl_convert_double16_rtzDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x double> @_Z20convert_double16_rtzDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z24_cl_convert_double16_rtzDv16_t(<16 x i16> %a)
  ret <16 x double> %call
}


declare double @_Z22_cl_convert_double_satt(i16) local_unnamed_addr #0

define spir_func double @_Z18convert_double_satt(i16 %a) local_unnamed_addr #0 {
  %call = tail call double @_Z22_cl_convert_double_satt(i16 %a)
  ret double %call
}


declare <2 x double> @_Z23_cl_convert_double2_satDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x double> @_Z19convert_double2_satDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z23_cl_convert_double2_satDv2_t(<2 x i16> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z23_cl_convert_double3_satDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x double> @_Z19convert_double3_satDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z23_cl_convert_double3_satDv3_t(<3 x i16> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z23_cl_convert_double4_satDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x double> @_Z19convert_double4_satDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z23_cl_convert_double4_satDv4_t(<4 x i16> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z23_cl_convert_double8_satDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x double> @_Z19convert_double8_satDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z23_cl_convert_double8_satDv8_t(<8 x i16> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z24_cl_convert_double16_satDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x double> @_Z20convert_double16_satDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z24_cl_convert_double16_satDv16_t(<16 x i16> %a)
  ret <16 x double> %call
}


declare double @_Z26_cl_convert_double_sat_rtpt(i16) local_unnamed_addr #0

define spir_func double @_Z22convert_double_sat_rtpt(i16 %a) local_unnamed_addr #0 {
  %call = tail call double @_Z26_cl_convert_double_sat_rtpt(i16 %a)
  ret double %call
}


declare <2 x double> @_Z27_cl_convert_double2_sat_rtpDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x double> @_Z23convert_double2_sat_rtpDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z27_cl_convert_double2_sat_rtpDv2_t(<2 x i16> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z27_cl_convert_double3_sat_rtpDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x double> @_Z23convert_double3_sat_rtpDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z27_cl_convert_double3_sat_rtpDv3_t(<3 x i16> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z27_cl_convert_double4_sat_rtpDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x double> @_Z23convert_double4_sat_rtpDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z27_cl_convert_double4_sat_rtpDv4_t(<4 x i16> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z27_cl_convert_double8_sat_rtpDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x double> @_Z23convert_double8_sat_rtpDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z27_cl_convert_double8_sat_rtpDv8_t(<8 x i16> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z28_cl_convert_double16_sat_rtpDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x double> @_Z24convert_double16_sat_rtpDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z28_cl_convert_double16_sat_rtpDv16_t(<16 x i16> %a)
  ret <16 x double> %call
}


declare double @_Z26_cl_convert_double_sat_rtnt(i16) local_unnamed_addr #0

define spir_func double @_Z22convert_double_sat_rtnt(i16 %a) local_unnamed_addr #0 {
  %call = tail call double @_Z26_cl_convert_double_sat_rtnt(i16 %a)
  ret double %call
}


declare <2 x double> @_Z27_cl_convert_double2_sat_rtnDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x double> @_Z23convert_double2_sat_rtnDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z27_cl_convert_double2_sat_rtnDv2_t(<2 x i16> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z27_cl_convert_double3_sat_rtnDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x double> @_Z23convert_double3_sat_rtnDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z27_cl_convert_double3_sat_rtnDv3_t(<3 x i16> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z27_cl_convert_double4_sat_rtnDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x double> @_Z23convert_double4_sat_rtnDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z27_cl_convert_double4_sat_rtnDv4_t(<4 x i16> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z27_cl_convert_double8_sat_rtnDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x double> @_Z23convert_double8_sat_rtnDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z27_cl_convert_double8_sat_rtnDv8_t(<8 x i16> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z28_cl_convert_double16_sat_rtnDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x double> @_Z24convert_double16_sat_rtnDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z28_cl_convert_double16_sat_rtnDv16_t(<16 x i16> %a)
  ret <16 x double> %call
}


declare double @_Z26_cl_convert_double_sat_rtet(i16) local_unnamed_addr #0

define spir_func double @_Z22convert_double_sat_rtet(i16 %a) local_unnamed_addr #0 {
  %call = tail call double @_Z26_cl_convert_double_sat_rtet(i16 %a)
  ret double %call
}


declare <2 x double> @_Z27_cl_convert_double2_sat_rteDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x double> @_Z23convert_double2_sat_rteDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z27_cl_convert_double2_sat_rteDv2_t(<2 x i16> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z27_cl_convert_double3_sat_rteDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x double> @_Z23convert_double3_sat_rteDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z27_cl_convert_double3_sat_rteDv3_t(<3 x i16> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z27_cl_convert_double4_sat_rteDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x double> @_Z23convert_double4_sat_rteDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z27_cl_convert_double4_sat_rteDv4_t(<4 x i16> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z27_cl_convert_double8_sat_rteDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x double> @_Z23convert_double8_sat_rteDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z27_cl_convert_double8_sat_rteDv8_t(<8 x i16> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z28_cl_convert_double16_sat_rteDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x double> @_Z24convert_double16_sat_rteDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z28_cl_convert_double16_sat_rteDv16_t(<16 x i16> %a)
  ret <16 x double> %call
}


declare double @_Z26_cl_convert_double_sat_rtzt(i16) local_unnamed_addr #0

define spir_func double @_Z22convert_double_sat_rtzt(i16 %a) local_unnamed_addr #0 {
  %call = tail call double @_Z26_cl_convert_double_sat_rtzt(i16 %a)
  ret double %call
}


declare <2 x double> @_Z27_cl_convert_double2_sat_rtzDv2_t(<2 x i16>) local_unnamed_addr #0

define spir_func <2 x double> @_Z23convert_double2_sat_rtzDv2_t(<2 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z27_cl_convert_double2_sat_rtzDv2_t(<2 x i16> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z27_cl_convert_double3_sat_rtzDv3_t(<3 x i16>) local_unnamed_addr #0

define spir_func <3 x double> @_Z23convert_double3_sat_rtzDv3_t(<3 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z27_cl_convert_double3_sat_rtzDv3_t(<3 x i16> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z27_cl_convert_double4_sat_rtzDv4_t(<4 x i16>) local_unnamed_addr #0

define spir_func <4 x double> @_Z23convert_double4_sat_rtzDv4_t(<4 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z27_cl_convert_double4_sat_rtzDv4_t(<4 x i16> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z27_cl_convert_double8_sat_rtzDv8_t(<8 x i16>) local_unnamed_addr #0

define spir_func <8 x double> @_Z23convert_double8_sat_rtzDv8_t(<8 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z27_cl_convert_double8_sat_rtzDv8_t(<8 x i16> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z28_cl_convert_double16_sat_rtzDv16_t(<16 x i16>) local_unnamed_addr #0

define spir_func <16 x double> @_Z24convert_double16_sat_rtzDv16_t(<16 x i16> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z28_cl_convert_double16_sat_rtzDv16_t(<16 x i16> %a)
  ret <16 x double> %call
}


declare double @_Z18_cl_convert_doublei(i32) local_unnamed_addr #0

define spir_func double @_Z14convert_doublei(i32 %a) local_unnamed_addr #0 {
  %call = tail call double @_Z18_cl_convert_doublei(i32 %a)
  ret double %call
}


declare <2 x double> @_Z19_cl_convert_double2Dv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x double> @_Z15convert_double2Dv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z19_cl_convert_double2Dv2_i(<2 x i32> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z19_cl_convert_double3Dv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x double> @_Z15convert_double3Dv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z19_cl_convert_double3Dv3_i(<3 x i32> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z19_cl_convert_double4Dv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x double> @_Z15convert_double4Dv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z19_cl_convert_double4Dv4_i(<4 x i32> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z19_cl_convert_double8Dv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x double> @_Z15convert_double8Dv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z19_cl_convert_double8Dv8_i(<8 x i32> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z20_cl_convert_double16Dv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x double> @_Z16convert_double16Dv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z20_cl_convert_double16Dv16_i(<16 x i32> %a)
  ret <16 x double> %call
}


declare double @_Z22_cl_convert_double_rtpi(i32) local_unnamed_addr #0

define spir_func double @_Z18convert_double_rtpi(i32 %a) local_unnamed_addr #0 {
  %call = tail call double @_Z22_cl_convert_double_rtpi(i32 %a)
  ret double %call
}


declare <2 x double> @_Z23_cl_convert_double2_rtpDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x double> @_Z19convert_double2_rtpDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z23_cl_convert_double2_rtpDv2_i(<2 x i32> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z23_cl_convert_double3_rtpDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x double> @_Z19convert_double3_rtpDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z23_cl_convert_double3_rtpDv3_i(<3 x i32> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z23_cl_convert_double4_rtpDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x double> @_Z19convert_double4_rtpDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z23_cl_convert_double4_rtpDv4_i(<4 x i32> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z23_cl_convert_double8_rtpDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x double> @_Z19convert_double8_rtpDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z23_cl_convert_double8_rtpDv8_i(<8 x i32> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z24_cl_convert_double16_rtpDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x double> @_Z20convert_double16_rtpDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z24_cl_convert_double16_rtpDv16_i(<16 x i32> %a)
  ret <16 x double> %call
}


declare double @_Z22_cl_convert_double_rtni(i32) local_unnamed_addr #0

define spir_func double @_Z18convert_double_rtni(i32 %a) local_unnamed_addr #0 {
  %call = tail call double @_Z22_cl_convert_double_rtni(i32 %a)
  ret double %call
}


declare <2 x double> @_Z23_cl_convert_double2_rtnDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x double> @_Z19convert_double2_rtnDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z23_cl_convert_double2_rtnDv2_i(<2 x i32> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z23_cl_convert_double3_rtnDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x double> @_Z19convert_double3_rtnDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z23_cl_convert_double3_rtnDv3_i(<3 x i32> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z23_cl_convert_double4_rtnDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x double> @_Z19convert_double4_rtnDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z23_cl_convert_double4_rtnDv4_i(<4 x i32> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z23_cl_convert_double8_rtnDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x double> @_Z19convert_double8_rtnDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z23_cl_convert_double8_rtnDv8_i(<8 x i32> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z24_cl_convert_double16_rtnDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x double> @_Z20convert_double16_rtnDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z24_cl_convert_double16_rtnDv16_i(<16 x i32> %a)
  ret <16 x double> %call
}


declare double @_Z22_cl_convert_double_rtei(i32) local_unnamed_addr #0

define spir_func double @_Z18convert_double_rtei(i32 %a) local_unnamed_addr #0 {
  %call = tail call double @_Z22_cl_convert_double_rtei(i32 %a)
  ret double %call
}


declare <2 x double> @_Z23_cl_convert_double2_rteDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x double> @_Z19convert_double2_rteDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z23_cl_convert_double2_rteDv2_i(<2 x i32> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z23_cl_convert_double3_rteDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x double> @_Z19convert_double3_rteDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z23_cl_convert_double3_rteDv3_i(<3 x i32> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z23_cl_convert_double4_rteDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x double> @_Z19convert_double4_rteDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z23_cl_convert_double4_rteDv4_i(<4 x i32> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z23_cl_convert_double8_rteDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x double> @_Z19convert_double8_rteDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z23_cl_convert_double8_rteDv8_i(<8 x i32> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z24_cl_convert_double16_rteDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x double> @_Z20convert_double16_rteDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z24_cl_convert_double16_rteDv16_i(<16 x i32> %a)
  ret <16 x double> %call
}


declare double @_Z22_cl_convert_double_rtzi(i32) local_unnamed_addr #0

define spir_func double @_Z18convert_double_rtzi(i32 %a) local_unnamed_addr #0 {
  %call = tail call double @_Z22_cl_convert_double_rtzi(i32 %a)
  ret double %call
}


declare <2 x double> @_Z23_cl_convert_double2_rtzDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x double> @_Z19convert_double2_rtzDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z23_cl_convert_double2_rtzDv2_i(<2 x i32> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z23_cl_convert_double3_rtzDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x double> @_Z19convert_double3_rtzDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z23_cl_convert_double3_rtzDv3_i(<3 x i32> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z23_cl_convert_double4_rtzDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x double> @_Z19convert_double4_rtzDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z23_cl_convert_double4_rtzDv4_i(<4 x i32> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z23_cl_convert_double8_rtzDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x double> @_Z19convert_double8_rtzDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z23_cl_convert_double8_rtzDv8_i(<8 x i32> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z24_cl_convert_double16_rtzDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x double> @_Z20convert_double16_rtzDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z24_cl_convert_double16_rtzDv16_i(<16 x i32> %a)
  ret <16 x double> %call
}


declare double @_Z22_cl_convert_double_sati(i32) local_unnamed_addr #0

define spir_func double @_Z18convert_double_sati(i32 %a) local_unnamed_addr #0 {
  %call = tail call double @_Z22_cl_convert_double_sati(i32 %a)
  ret double %call
}


declare <2 x double> @_Z23_cl_convert_double2_satDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x double> @_Z19convert_double2_satDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z23_cl_convert_double2_satDv2_i(<2 x i32> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z23_cl_convert_double3_satDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x double> @_Z19convert_double3_satDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z23_cl_convert_double3_satDv3_i(<3 x i32> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z23_cl_convert_double4_satDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x double> @_Z19convert_double4_satDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z23_cl_convert_double4_satDv4_i(<4 x i32> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z23_cl_convert_double8_satDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x double> @_Z19convert_double8_satDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z23_cl_convert_double8_satDv8_i(<8 x i32> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z24_cl_convert_double16_satDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x double> @_Z20convert_double16_satDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z24_cl_convert_double16_satDv16_i(<16 x i32> %a)
  ret <16 x double> %call
}


declare double @_Z26_cl_convert_double_sat_rtpi(i32) local_unnamed_addr #0

define spir_func double @_Z22convert_double_sat_rtpi(i32 %a) local_unnamed_addr #0 {
  %call = tail call double @_Z26_cl_convert_double_sat_rtpi(i32 %a)
  ret double %call
}


declare <2 x double> @_Z27_cl_convert_double2_sat_rtpDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x double> @_Z23convert_double2_sat_rtpDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z27_cl_convert_double2_sat_rtpDv2_i(<2 x i32> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z27_cl_convert_double3_sat_rtpDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x double> @_Z23convert_double3_sat_rtpDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z27_cl_convert_double3_sat_rtpDv3_i(<3 x i32> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z27_cl_convert_double4_sat_rtpDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x double> @_Z23convert_double4_sat_rtpDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z27_cl_convert_double4_sat_rtpDv4_i(<4 x i32> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z27_cl_convert_double8_sat_rtpDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x double> @_Z23convert_double8_sat_rtpDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z27_cl_convert_double8_sat_rtpDv8_i(<8 x i32> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z28_cl_convert_double16_sat_rtpDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x double> @_Z24convert_double16_sat_rtpDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z28_cl_convert_double16_sat_rtpDv16_i(<16 x i32> %a)
  ret <16 x double> %call
}


declare double @_Z26_cl_convert_double_sat_rtni(i32) local_unnamed_addr #0

define spir_func double @_Z22convert_double_sat_rtni(i32 %a) local_unnamed_addr #0 {
  %call = tail call double @_Z26_cl_convert_double_sat_rtni(i32 %a)
  ret double %call
}


declare <2 x double> @_Z27_cl_convert_double2_sat_rtnDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x double> @_Z23convert_double2_sat_rtnDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z27_cl_convert_double2_sat_rtnDv2_i(<2 x i32> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z27_cl_convert_double3_sat_rtnDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x double> @_Z23convert_double3_sat_rtnDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z27_cl_convert_double3_sat_rtnDv3_i(<3 x i32> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z27_cl_convert_double4_sat_rtnDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x double> @_Z23convert_double4_sat_rtnDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z27_cl_convert_double4_sat_rtnDv4_i(<4 x i32> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z27_cl_convert_double8_sat_rtnDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x double> @_Z23convert_double8_sat_rtnDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z27_cl_convert_double8_sat_rtnDv8_i(<8 x i32> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z28_cl_convert_double16_sat_rtnDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x double> @_Z24convert_double16_sat_rtnDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z28_cl_convert_double16_sat_rtnDv16_i(<16 x i32> %a)
  ret <16 x double> %call
}


declare double @_Z26_cl_convert_double_sat_rtei(i32) local_unnamed_addr #0

define spir_func double @_Z22convert_double_sat_rtei(i32 %a) local_unnamed_addr #0 {
  %call = tail call double @_Z26_cl_convert_double_sat_rtei(i32 %a)
  ret double %call
}


declare <2 x double> @_Z27_cl_convert_double2_sat_rteDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x double> @_Z23convert_double2_sat_rteDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z27_cl_convert_double2_sat_rteDv2_i(<2 x i32> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z27_cl_convert_double3_sat_rteDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x double> @_Z23convert_double3_sat_rteDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z27_cl_convert_double3_sat_rteDv3_i(<3 x i32> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z27_cl_convert_double4_sat_rteDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x double> @_Z23convert_double4_sat_rteDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z27_cl_convert_double4_sat_rteDv4_i(<4 x i32> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z27_cl_convert_double8_sat_rteDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x double> @_Z23convert_double8_sat_rteDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z27_cl_convert_double8_sat_rteDv8_i(<8 x i32> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z28_cl_convert_double16_sat_rteDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x double> @_Z24convert_double16_sat_rteDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z28_cl_convert_double16_sat_rteDv16_i(<16 x i32> %a)
  ret <16 x double> %call
}


declare double @_Z26_cl_convert_double_sat_rtzi(i32) local_unnamed_addr #0

define spir_func double @_Z22convert_double_sat_rtzi(i32 %a) local_unnamed_addr #0 {
  %call = tail call double @_Z26_cl_convert_double_sat_rtzi(i32 %a)
  ret double %call
}


declare <2 x double> @_Z27_cl_convert_double2_sat_rtzDv2_i(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x double> @_Z23convert_double2_sat_rtzDv2_i(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z27_cl_convert_double2_sat_rtzDv2_i(<2 x i32> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z27_cl_convert_double3_sat_rtzDv3_i(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x double> @_Z23convert_double3_sat_rtzDv3_i(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z27_cl_convert_double3_sat_rtzDv3_i(<3 x i32> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z27_cl_convert_double4_sat_rtzDv4_i(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x double> @_Z23convert_double4_sat_rtzDv4_i(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z27_cl_convert_double4_sat_rtzDv4_i(<4 x i32> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z27_cl_convert_double8_sat_rtzDv8_i(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x double> @_Z23convert_double8_sat_rtzDv8_i(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z27_cl_convert_double8_sat_rtzDv8_i(<8 x i32> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z28_cl_convert_double16_sat_rtzDv16_i(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x double> @_Z24convert_double16_sat_rtzDv16_i(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z28_cl_convert_double16_sat_rtzDv16_i(<16 x i32> %a)
  ret <16 x double> %call
}


declare double @_Z18_cl_convert_doublej(i32) local_unnamed_addr #0

define spir_func double @_Z14convert_doublej(i32 %a) local_unnamed_addr #0 {
  %call = tail call double @_Z18_cl_convert_doublej(i32 %a)
  ret double %call
}


declare <2 x double> @_Z19_cl_convert_double2Dv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x double> @_Z15convert_double2Dv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z19_cl_convert_double2Dv2_j(<2 x i32> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z19_cl_convert_double3Dv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x double> @_Z15convert_double3Dv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z19_cl_convert_double3Dv3_j(<3 x i32> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z19_cl_convert_double4Dv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x double> @_Z15convert_double4Dv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z19_cl_convert_double4Dv4_j(<4 x i32> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z19_cl_convert_double8Dv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x double> @_Z15convert_double8Dv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z19_cl_convert_double8Dv8_j(<8 x i32> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z20_cl_convert_double16Dv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x double> @_Z16convert_double16Dv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z20_cl_convert_double16Dv16_j(<16 x i32> %a)
  ret <16 x double> %call
}


declare double @_Z22_cl_convert_double_rtpj(i32) local_unnamed_addr #0

define spir_func double @_Z18convert_double_rtpj(i32 %a) local_unnamed_addr #0 {
  %call = tail call double @_Z22_cl_convert_double_rtpj(i32 %a)
  ret double %call
}


declare <2 x double> @_Z23_cl_convert_double2_rtpDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x double> @_Z19convert_double2_rtpDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z23_cl_convert_double2_rtpDv2_j(<2 x i32> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z23_cl_convert_double3_rtpDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x double> @_Z19convert_double3_rtpDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z23_cl_convert_double3_rtpDv3_j(<3 x i32> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z23_cl_convert_double4_rtpDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x double> @_Z19convert_double4_rtpDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z23_cl_convert_double4_rtpDv4_j(<4 x i32> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z23_cl_convert_double8_rtpDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x double> @_Z19convert_double8_rtpDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z23_cl_convert_double8_rtpDv8_j(<8 x i32> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z24_cl_convert_double16_rtpDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x double> @_Z20convert_double16_rtpDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z24_cl_convert_double16_rtpDv16_j(<16 x i32> %a)
  ret <16 x double> %call
}


declare double @_Z22_cl_convert_double_rtnj(i32) local_unnamed_addr #0

define spir_func double @_Z18convert_double_rtnj(i32 %a) local_unnamed_addr #0 {
  %call = tail call double @_Z22_cl_convert_double_rtnj(i32 %a)
  ret double %call
}


declare <2 x double> @_Z23_cl_convert_double2_rtnDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x double> @_Z19convert_double2_rtnDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z23_cl_convert_double2_rtnDv2_j(<2 x i32> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z23_cl_convert_double3_rtnDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x double> @_Z19convert_double3_rtnDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z23_cl_convert_double3_rtnDv3_j(<3 x i32> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z23_cl_convert_double4_rtnDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x double> @_Z19convert_double4_rtnDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z23_cl_convert_double4_rtnDv4_j(<4 x i32> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z23_cl_convert_double8_rtnDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x double> @_Z19convert_double8_rtnDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z23_cl_convert_double8_rtnDv8_j(<8 x i32> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z24_cl_convert_double16_rtnDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x double> @_Z20convert_double16_rtnDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z24_cl_convert_double16_rtnDv16_j(<16 x i32> %a)
  ret <16 x double> %call
}


declare double @_Z22_cl_convert_double_rtej(i32) local_unnamed_addr #0

define spir_func double @_Z18convert_double_rtej(i32 %a) local_unnamed_addr #0 {
  %call = tail call double @_Z22_cl_convert_double_rtej(i32 %a)
  ret double %call
}


declare <2 x double> @_Z23_cl_convert_double2_rteDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x double> @_Z19convert_double2_rteDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z23_cl_convert_double2_rteDv2_j(<2 x i32> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z23_cl_convert_double3_rteDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x double> @_Z19convert_double3_rteDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z23_cl_convert_double3_rteDv3_j(<3 x i32> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z23_cl_convert_double4_rteDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x double> @_Z19convert_double4_rteDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z23_cl_convert_double4_rteDv4_j(<4 x i32> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z23_cl_convert_double8_rteDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x double> @_Z19convert_double8_rteDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z23_cl_convert_double8_rteDv8_j(<8 x i32> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z24_cl_convert_double16_rteDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x double> @_Z20convert_double16_rteDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z24_cl_convert_double16_rteDv16_j(<16 x i32> %a)
  ret <16 x double> %call
}


declare double @_Z22_cl_convert_double_rtzj(i32) local_unnamed_addr #0

define spir_func double @_Z18convert_double_rtzj(i32 %a) local_unnamed_addr #0 {
  %call = tail call double @_Z22_cl_convert_double_rtzj(i32 %a)
  ret double %call
}


declare <2 x double> @_Z23_cl_convert_double2_rtzDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x double> @_Z19convert_double2_rtzDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z23_cl_convert_double2_rtzDv2_j(<2 x i32> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z23_cl_convert_double3_rtzDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x double> @_Z19convert_double3_rtzDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z23_cl_convert_double3_rtzDv3_j(<3 x i32> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z23_cl_convert_double4_rtzDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x double> @_Z19convert_double4_rtzDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z23_cl_convert_double4_rtzDv4_j(<4 x i32> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z23_cl_convert_double8_rtzDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x double> @_Z19convert_double8_rtzDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z23_cl_convert_double8_rtzDv8_j(<8 x i32> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z24_cl_convert_double16_rtzDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x double> @_Z20convert_double16_rtzDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z24_cl_convert_double16_rtzDv16_j(<16 x i32> %a)
  ret <16 x double> %call
}


declare double @_Z22_cl_convert_double_satj(i32) local_unnamed_addr #0

define spir_func double @_Z18convert_double_satj(i32 %a) local_unnamed_addr #0 {
  %call = tail call double @_Z22_cl_convert_double_satj(i32 %a)
  ret double %call
}


declare <2 x double> @_Z23_cl_convert_double2_satDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x double> @_Z19convert_double2_satDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z23_cl_convert_double2_satDv2_j(<2 x i32> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z23_cl_convert_double3_satDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x double> @_Z19convert_double3_satDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z23_cl_convert_double3_satDv3_j(<3 x i32> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z23_cl_convert_double4_satDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x double> @_Z19convert_double4_satDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z23_cl_convert_double4_satDv4_j(<4 x i32> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z23_cl_convert_double8_satDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x double> @_Z19convert_double8_satDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z23_cl_convert_double8_satDv8_j(<8 x i32> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z24_cl_convert_double16_satDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x double> @_Z20convert_double16_satDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z24_cl_convert_double16_satDv16_j(<16 x i32> %a)
  ret <16 x double> %call
}


declare double @_Z26_cl_convert_double_sat_rtpj(i32) local_unnamed_addr #0

define spir_func double @_Z22convert_double_sat_rtpj(i32 %a) local_unnamed_addr #0 {
  %call = tail call double @_Z26_cl_convert_double_sat_rtpj(i32 %a)
  ret double %call
}


declare <2 x double> @_Z27_cl_convert_double2_sat_rtpDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x double> @_Z23convert_double2_sat_rtpDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z27_cl_convert_double2_sat_rtpDv2_j(<2 x i32> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z27_cl_convert_double3_sat_rtpDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x double> @_Z23convert_double3_sat_rtpDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z27_cl_convert_double3_sat_rtpDv3_j(<3 x i32> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z27_cl_convert_double4_sat_rtpDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x double> @_Z23convert_double4_sat_rtpDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z27_cl_convert_double4_sat_rtpDv4_j(<4 x i32> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z27_cl_convert_double8_sat_rtpDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x double> @_Z23convert_double8_sat_rtpDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z27_cl_convert_double8_sat_rtpDv8_j(<8 x i32> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z28_cl_convert_double16_sat_rtpDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x double> @_Z24convert_double16_sat_rtpDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z28_cl_convert_double16_sat_rtpDv16_j(<16 x i32> %a)
  ret <16 x double> %call
}


declare double @_Z26_cl_convert_double_sat_rtnj(i32) local_unnamed_addr #0

define spir_func double @_Z22convert_double_sat_rtnj(i32 %a) local_unnamed_addr #0 {
  %call = tail call double @_Z26_cl_convert_double_sat_rtnj(i32 %a)
  ret double %call
}


declare <2 x double> @_Z27_cl_convert_double2_sat_rtnDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x double> @_Z23convert_double2_sat_rtnDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z27_cl_convert_double2_sat_rtnDv2_j(<2 x i32> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z27_cl_convert_double3_sat_rtnDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x double> @_Z23convert_double3_sat_rtnDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z27_cl_convert_double3_sat_rtnDv3_j(<3 x i32> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z27_cl_convert_double4_sat_rtnDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x double> @_Z23convert_double4_sat_rtnDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z27_cl_convert_double4_sat_rtnDv4_j(<4 x i32> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z27_cl_convert_double8_sat_rtnDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x double> @_Z23convert_double8_sat_rtnDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z27_cl_convert_double8_sat_rtnDv8_j(<8 x i32> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z28_cl_convert_double16_sat_rtnDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x double> @_Z24convert_double16_sat_rtnDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z28_cl_convert_double16_sat_rtnDv16_j(<16 x i32> %a)
  ret <16 x double> %call
}


declare double @_Z26_cl_convert_double_sat_rtej(i32) local_unnamed_addr #0

define spir_func double @_Z22convert_double_sat_rtej(i32 %a) local_unnamed_addr #0 {
  %call = tail call double @_Z26_cl_convert_double_sat_rtej(i32 %a)
  ret double %call
}


declare <2 x double> @_Z27_cl_convert_double2_sat_rteDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x double> @_Z23convert_double2_sat_rteDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z27_cl_convert_double2_sat_rteDv2_j(<2 x i32> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z27_cl_convert_double3_sat_rteDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x double> @_Z23convert_double3_sat_rteDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z27_cl_convert_double3_sat_rteDv3_j(<3 x i32> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z27_cl_convert_double4_sat_rteDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x double> @_Z23convert_double4_sat_rteDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z27_cl_convert_double4_sat_rteDv4_j(<4 x i32> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z27_cl_convert_double8_sat_rteDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x double> @_Z23convert_double8_sat_rteDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z27_cl_convert_double8_sat_rteDv8_j(<8 x i32> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z28_cl_convert_double16_sat_rteDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x double> @_Z24convert_double16_sat_rteDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z28_cl_convert_double16_sat_rteDv16_j(<16 x i32> %a)
  ret <16 x double> %call
}


declare double @_Z26_cl_convert_double_sat_rtzj(i32) local_unnamed_addr #0

define spir_func double @_Z22convert_double_sat_rtzj(i32 %a) local_unnamed_addr #0 {
  %call = tail call double @_Z26_cl_convert_double_sat_rtzj(i32 %a)
  ret double %call
}


declare <2 x double> @_Z27_cl_convert_double2_sat_rtzDv2_j(<2 x i32>) local_unnamed_addr #0

define spir_func <2 x double> @_Z23convert_double2_sat_rtzDv2_j(<2 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z27_cl_convert_double2_sat_rtzDv2_j(<2 x i32> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z27_cl_convert_double3_sat_rtzDv3_j(<3 x i32>) local_unnamed_addr #0

define spir_func <3 x double> @_Z23convert_double3_sat_rtzDv3_j(<3 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z27_cl_convert_double3_sat_rtzDv3_j(<3 x i32> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z27_cl_convert_double4_sat_rtzDv4_j(<4 x i32>) local_unnamed_addr #0

define spir_func <4 x double> @_Z23convert_double4_sat_rtzDv4_j(<4 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z27_cl_convert_double4_sat_rtzDv4_j(<4 x i32> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z27_cl_convert_double8_sat_rtzDv8_j(<8 x i32>) local_unnamed_addr #0

define spir_func <8 x double> @_Z23convert_double8_sat_rtzDv8_j(<8 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z27_cl_convert_double8_sat_rtzDv8_j(<8 x i32> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z28_cl_convert_double16_sat_rtzDv16_j(<16 x i32>) local_unnamed_addr #0

define spir_func <16 x double> @_Z24convert_double16_sat_rtzDv16_j(<16 x i32> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z28_cl_convert_double16_sat_rtzDv16_j(<16 x i32> %a)
  ret <16 x double> %call
}


declare double @_Z18_cl_convert_doublel(i64) local_unnamed_addr #0

define spir_func double @_Z14convert_doublel(i64 %a) local_unnamed_addr #0 {
  %call = tail call double @_Z18_cl_convert_doublel(i64 %a)
  ret double %call
}


declare <2 x double> @_Z19_cl_convert_double2Dv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x double> @_Z15convert_double2Dv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z19_cl_convert_double2Dv2_l(<2 x i64> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z19_cl_convert_double3Dv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x double> @_Z15convert_double3Dv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z19_cl_convert_double3Dv3_l(<3 x i64> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z19_cl_convert_double4Dv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x double> @_Z15convert_double4Dv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z19_cl_convert_double4Dv4_l(<4 x i64> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z19_cl_convert_double8Dv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x double> @_Z15convert_double8Dv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z19_cl_convert_double8Dv8_l(<8 x i64> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z20_cl_convert_double16Dv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x double> @_Z16convert_double16Dv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z20_cl_convert_double16Dv16_l(<16 x i64> %a)
  ret <16 x double> %call
}


declare double @_Z22_cl_convert_double_rtpl(i64) local_unnamed_addr #0

define spir_func double @_Z18convert_double_rtpl(i64 %a) local_unnamed_addr #0 {
  %call = tail call double @_Z22_cl_convert_double_rtpl(i64 %a)
  ret double %call
}


declare <2 x double> @_Z23_cl_convert_double2_rtpDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x double> @_Z19convert_double2_rtpDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z23_cl_convert_double2_rtpDv2_l(<2 x i64> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z23_cl_convert_double3_rtpDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x double> @_Z19convert_double3_rtpDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z23_cl_convert_double3_rtpDv3_l(<3 x i64> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z23_cl_convert_double4_rtpDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x double> @_Z19convert_double4_rtpDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z23_cl_convert_double4_rtpDv4_l(<4 x i64> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z23_cl_convert_double8_rtpDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x double> @_Z19convert_double8_rtpDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z23_cl_convert_double8_rtpDv8_l(<8 x i64> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z24_cl_convert_double16_rtpDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x double> @_Z20convert_double16_rtpDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z24_cl_convert_double16_rtpDv16_l(<16 x i64> %a)
  ret <16 x double> %call
}


declare double @_Z22_cl_convert_double_rtnl(i64) local_unnamed_addr #0

define spir_func double @_Z18convert_double_rtnl(i64 %a) local_unnamed_addr #0 {
  %call = tail call double @_Z22_cl_convert_double_rtnl(i64 %a)
  ret double %call
}


declare <2 x double> @_Z23_cl_convert_double2_rtnDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x double> @_Z19convert_double2_rtnDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z23_cl_convert_double2_rtnDv2_l(<2 x i64> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z23_cl_convert_double3_rtnDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x double> @_Z19convert_double3_rtnDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z23_cl_convert_double3_rtnDv3_l(<3 x i64> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z23_cl_convert_double4_rtnDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x double> @_Z19convert_double4_rtnDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z23_cl_convert_double4_rtnDv4_l(<4 x i64> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z23_cl_convert_double8_rtnDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x double> @_Z19convert_double8_rtnDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z23_cl_convert_double8_rtnDv8_l(<8 x i64> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z24_cl_convert_double16_rtnDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x double> @_Z20convert_double16_rtnDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z24_cl_convert_double16_rtnDv16_l(<16 x i64> %a)
  ret <16 x double> %call
}


declare double @_Z22_cl_convert_double_rtel(i64) local_unnamed_addr #0

define spir_func double @_Z18convert_double_rtel(i64 %a) local_unnamed_addr #0 {
  %call = tail call double @_Z22_cl_convert_double_rtel(i64 %a)
  ret double %call
}


declare <2 x double> @_Z23_cl_convert_double2_rteDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x double> @_Z19convert_double2_rteDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z23_cl_convert_double2_rteDv2_l(<2 x i64> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z23_cl_convert_double3_rteDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x double> @_Z19convert_double3_rteDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z23_cl_convert_double3_rteDv3_l(<3 x i64> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z23_cl_convert_double4_rteDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x double> @_Z19convert_double4_rteDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z23_cl_convert_double4_rteDv4_l(<4 x i64> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z23_cl_convert_double8_rteDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x double> @_Z19convert_double8_rteDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z23_cl_convert_double8_rteDv8_l(<8 x i64> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z24_cl_convert_double16_rteDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x double> @_Z20convert_double16_rteDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z24_cl_convert_double16_rteDv16_l(<16 x i64> %a)
  ret <16 x double> %call
}


declare double @_Z22_cl_convert_double_rtzl(i64) local_unnamed_addr #0

define spir_func double @_Z18convert_double_rtzl(i64 %a) local_unnamed_addr #0 {
  %call = tail call double @_Z22_cl_convert_double_rtzl(i64 %a)
  ret double %call
}


declare <2 x double> @_Z23_cl_convert_double2_rtzDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x double> @_Z19convert_double2_rtzDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z23_cl_convert_double2_rtzDv2_l(<2 x i64> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z23_cl_convert_double3_rtzDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x double> @_Z19convert_double3_rtzDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z23_cl_convert_double3_rtzDv3_l(<3 x i64> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z23_cl_convert_double4_rtzDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x double> @_Z19convert_double4_rtzDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z23_cl_convert_double4_rtzDv4_l(<4 x i64> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z23_cl_convert_double8_rtzDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x double> @_Z19convert_double8_rtzDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z23_cl_convert_double8_rtzDv8_l(<8 x i64> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z24_cl_convert_double16_rtzDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x double> @_Z20convert_double16_rtzDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z24_cl_convert_double16_rtzDv16_l(<16 x i64> %a)
  ret <16 x double> %call
}


declare double @_Z22_cl_convert_double_satl(i64) local_unnamed_addr #0

define spir_func double @_Z18convert_double_satl(i64 %a) local_unnamed_addr #0 {
  %call = tail call double @_Z22_cl_convert_double_satl(i64 %a)
  ret double %call
}


declare <2 x double> @_Z23_cl_convert_double2_satDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x double> @_Z19convert_double2_satDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z23_cl_convert_double2_satDv2_l(<2 x i64> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z23_cl_convert_double3_satDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x double> @_Z19convert_double3_satDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z23_cl_convert_double3_satDv3_l(<3 x i64> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z23_cl_convert_double4_satDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x double> @_Z19convert_double4_satDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z23_cl_convert_double4_satDv4_l(<4 x i64> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z23_cl_convert_double8_satDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x double> @_Z19convert_double8_satDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z23_cl_convert_double8_satDv8_l(<8 x i64> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z24_cl_convert_double16_satDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x double> @_Z20convert_double16_satDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z24_cl_convert_double16_satDv16_l(<16 x i64> %a)
  ret <16 x double> %call
}


declare double @_Z26_cl_convert_double_sat_rtpl(i64) local_unnamed_addr #0

define spir_func double @_Z22convert_double_sat_rtpl(i64 %a) local_unnamed_addr #0 {
  %call = tail call double @_Z26_cl_convert_double_sat_rtpl(i64 %a)
  ret double %call
}


declare <2 x double> @_Z27_cl_convert_double2_sat_rtpDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x double> @_Z23convert_double2_sat_rtpDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z27_cl_convert_double2_sat_rtpDv2_l(<2 x i64> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z27_cl_convert_double3_sat_rtpDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x double> @_Z23convert_double3_sat_rtpDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z27_cl_convert_double3_sat_rtpDv3_l(<3 x i64> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z27_cl_convert_double4_sat_rtpDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x double> @_Z23convert_double4_sat_rtpDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z27_cl_convert_double4_sat_rtpDv4_l(<4 x i64> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z27_cl_convert_double8_sat_rtpDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x double> @_Z23convert_double8_sat_rtpDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z27_cl_convert_double8_sat_rtpDv8_l(<8 x i64> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z28_cl_convert_double16_sat_rtpDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x double> @_Z24convert_double16_sat_rtpDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z28_cl_convert_double16_sat_rtpDv16_l(<16 x i64> %a)
  ret <16 x double> %call
}


declare double @_Z26_cl_convert_double_sat_rtnl(i64) local_unnamed_addr #0

define spir_func double @_Z22convert_double_sat_rtnl(i64 %a) local_unnamed_addr #0 {
  %call = tail call double @_Z26_cl_convert_double_sat_rtnl(i64 %a)
  ret double %call
}


declare <2 x double> @_Z27_cl_convert_double2_sat_rtnDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x double> @_Z23convert_double2_sat_rtnDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z27_cl_convert_double2_sat_rtnDv2_l(<2 x i64> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z27_cl_convert_double3_sat_rtnDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x double> @_Z23convert_double3_sat_rtnDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z27_cl_convert_double3_sat_rtnDv3_l(<3 x i64> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z27_cl_convert_double4_sat_rtnDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x double> @_Z23convert_double4_sat_rtnDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z27_cl_convert_double4_sat_rtnDv4_l(<4 x i64> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z27_cl_convert_double8_sat_rtnDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x double> @_Z23convert_double8_sat_rtnDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z27_cl_convert_double8_sat_rtnDv8_l(<8 x i64> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z28_cl_convert_double16_sat_rtnDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x double> @_Z24convert_double16_sat_rtnDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z28_cl_convert_double16_sat_rtnDv16_l(<16 x i64> %a)
  ret <16 x double> %call
}


declare double @_Z26_cl_convert_double_sat_rtel(i64) local_unnamed_addr #0

define spir_func double @_Z22convert_double_sat_rtel(i64 %a) local_unnamed_addr #0 {
  %call = tail call double @_Z26_cl_convert_double_sat_rtel(i64 %a)
  ret double %call
}


declare <2 x double> @_Z27_cl_convert_double2_sat_rteDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x double> @_Z23convert_double2_sat_rteDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z27_cl_convert_double2_sat_rteDv2_l(<2 x i64> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z27_cl_convert_double3_sat_rteDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x double> @_Z23convert_double3_sat_rteDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z27_cl_convert_double3_sat_rteDv3_l(<3 x i64> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z27_cl_convert_double4_sat_rteDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x double> @_Z23convert_double4_sat_rteDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z27_cl_convert_double4_sat_rteDv4_l(<4 x i64> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z27_cl_convert_double8_sat_rteDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x double> @_Z23convert_double8_sat_rteDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z27_cl_convert_double8_sat_rteDv8_l(<8 x i64> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z28_cl_convert_double16_sat_rteDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x double> @_Z24convert_double16_sat_rteDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z28_cl_convert_double16_sat_rteDv16_l(<16 x i64> %a)
  ret <16 x double> %call
}


declare double @_Z26_cl_convert_double_sat_rtzl(i64) local_unnamed_addr #0

define spir_func double @_Z22convert_double_sat_rtzl(i64 %a) local_unnamed_addr #0 {
  %call = tail call double @_Z26_cl_convert_double_sat_rtzl(i64 %a)
  ret double %call
}


declare <2 x double> @_Z27_cl_convert_double2_sat_rtzDv2_l(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x double> @_Z23convert_double2_sat_rtzDv2_l(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z27_cl_convert_double2_sat_rtzDv2_l(<2 x i64> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z27_cl_convert_double3_sat_rtzDv3_l(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x double> @_Z23convert_double3_sat_rtzDv3_l(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z27_cl_convert_double3_sat_rtzDv3_l(<3 x i64> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z27_cl_convert_double4_sat_rtzDv4_l(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x double> @_Z23convert_double4_sat_rtzDv4_l(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z27_cl_convert_double4_sat_rtzDv4_l(<4 x i64> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z27_cl_convert_double8_sat_rtzDv8_l(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x double> @_Z23convert_double8_sat_rtzDv8_l(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z27_cl_convert_double8_sat_rtzDv8_l(<8 x i64> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z28_cl_convert_double16_sat_rtzDv16_l(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x double> @_Z24convert_double16_sat_rtzDv16_l(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z28_cl_convert_double16_sat_rtzDv16_l(<16 x i64> %a)
  ret <16 x double> %call
}


declare double @_Z18_cl_convert_doublem(i64) local_unnamed_addr #0

define spir_func double @_Z14convert_doublem(i64 %a) local_unnamed_addr #0 {
  %call = tail call double @_Z18_cl_convert_doublem(i64 %a)
  ret double %call
}


declare <2 x double> @_Z19_cl_convert_double2Dv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x double> @_Z15convert_double2Dv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z19_cl_convert_double2Dv2_m(<2 x i64> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z19_cl_convert_double3Dv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x double> @_Z15convert_double3Dv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z19_cl_convert_double3Dv3_m(<3 x i64> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z19_cl_convert_double4Dv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x double> @_Z15convert_double4Dv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z19_cl_convert_double4Dv4_m(<4 x i64> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z19_cl_convert_double8Dv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x double> @_Z15convert_double8Dv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z19_cl_convert_double8Dv8_m(<8 x i64> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z20_cl_convert_double16Dv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x double> @_Z16convert_double16Dv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z20_cl_convert_double16Dv16_m(<16 x i64> %a)
  ret <16 x double> %call
}


declare double @_Z22_cl_convert_double_rtpm(i64) local_unnamed_addr #0

define spir_func double @_Z18convert_double_rtpm(i64 %a) local_unnamed_addr #0 {
  %call = tail call double @_Z22_cl_convert_double_rtpm(i64 %a)
  ret double %call
}


declare <2 x double> @_Z23_cl_convert_double2_rtpDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x double> @_Z19convert_double2_rtpDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z23_cl_convert_double2_rtpDv2_m(<2 x i64> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z23_cl_convert_double3_rtpDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x double> @_Z19convert_double3_rtpDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z23_cl_convert_double3_rtpDv3_m(<3 x i64> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z23_cl_convert_double4_rtpDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x double> @_Z19convert_double4_rtpDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z23_cl_convert_double4_rtpDv4_m(<4 x i64> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z23_cl_convert_double8_rtpDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x double> @_Z19convert_double8_rtpDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z23_cl_convert_double8_rtpDv8_m(<8 x i64> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z24_cl_convert_double16_rtpDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x double> @_Z20convert_double16_rtpDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z24_cl_convert_double16_rtpDv16_m(<16 x i64> %a)
  ret <16 x double> %call
}


declare double @_Z22_cl_convert_double_rtnm(i64) local_unnamed_addr #0

define spir_func double @_Z18convert_double_rtnm(i64 %a) local_unnamed_addr #0 {
  %call = tail call double @_Z22_cl_convert_double_rtnm(i64 %a)
  ret double %call
}


declare <2 x double> @_Z23_cl_convert_double2_rtnDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x double> @_Z19convert_double2_rtnDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z23_cl_convert_double2_rtnDv2_m(<2 x i64> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z23_cl_convert_double3_rtnDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x double> @_Z19convert_double3_rtnDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z23_cl_convert_double3_rtnDv3_m(<3 x i64> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z23_cl_convert_double4_rtnDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x double> @_Z19convert_double4_rtnDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z23_cl_convert_double4_rtnDv4_m(<4 x i64> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z23_cl_convert_double8_rtnDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x double> @_Z19convert_double8_rtnDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z23_cl_convert_double8_rtnDv8_m(<8 x i64> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z24_cl_convert_double16_rtnDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x double> @_Z20convert_double16_rtnDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z24_cl_convert_double16_rtnDv16_m(<16 x i64> %a)
  ret <16 x double> %call
}


declare double @_Z22_cl_convert_double_rtem(i64) local_unnamed_addr #0

define spir_func double @_Z18convert_double_rtem(i64 %a) local_unnamed_addr #0 {
  %call = tail call double @_Z22_cl_convert_double_rtem(i64 %a)
  ret double %call
}


declare <2 x double> @_Z23_cl_convert_double2_rteDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x double> @_Z19convert_double2_rteDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z23_cl_convert_double2_rteDv2_m(<2 x i64> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z23_cl_convert_double3_rteDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x double> @_Z19convert_double3_rteDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z23_cl_convert_double3_rteDv3_m(<3 x i64> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z23_cl_convert_double4_rteDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x double> @_Z19convert_double4_rteDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z23_cl_convert_double4_rteDv4_m(<4 x i64> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z23_cl_convert_double8_rteDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x double> @_Z19convert_double8_rteDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z23_cl_convert_double8_rteDv8_m(<8 x i64> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z24_cl_convert_double16_rteDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x double> @_Z20convert_double16_rteDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z24_cl_convert_double16_rteDv16_m(<16 x i64> %a)
  ret <16 x double> %call
}


declare double @_Z22_cl_convert_double_rtzm(i64) local_unnamed_addr #0

define spir_func double @_Z18convert_double_rtzm(i64 %a) local_unnamed_addr #0 {
  %call = tail call double @_Z22_cl_convert_double_rtzm(i64 %a)
  ret double %call
}


declare <2 x double> @_Z23_cl_convert_double2_rtzDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x double> @_Z19convert_double2_rtzDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z23_cl_convert_double2_rtzDv2_m(<2 x i64> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z23_cl_convert_double3_rtzDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x double> @_Z19convert_double3_rtzDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z23_cl_convert_double3_rtzDv3_m(<3 x i64> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z23_cl_convert_double4_rtzDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x double> @_Z19convert_double4_rtzDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z23_cl_convert_double4_rtzDv4_m(<4 x i64> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z23_cl_convert_double8_rtzDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x double> @_Z19convert_double8_rtzDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z23_cl_convert_double8_rtzDv8_m(<8 x i64> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z24_cl_convert_double16_rtzDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x double> @_Z20convert_double16_rtzDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z24_cl_convert_double16_rtzDv16_m(<16 x i64> %a)
  ret <16 x double> %call
}


declare double @_Z22_cl_convert_double_satm(i64) local_unnamed_addr #0

define spir_func double @_Z18convert_double_satm(i64 %a) local_unnamed_addr #0 {
  %call = tail call double @_Z22_cl_convert_double_satm(i64 %a)
  ret double %call
}


declare <2 x double> @_Z23_cl_convert_double2_satDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x double> @_Z19convert_double2_satDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z23_cl_convert_double2_satDv2_m(<2 x i64> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z23_cl_convert_double3_satDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x double> @_Z19convert_double3_satDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z23_cl_convert_double3_satDv3_m(<3 x i64> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z23_cl_convert_double4_satDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x double> @_Z19convert_double4_satDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z23_cl_convert_double4_satDv4_m(<4 x i64> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z23_cl_convert_double8_satDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x double> @_Z19convert_double8_satDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z23_cl_convert_double8_satDv8_m(<8 x i64> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z24_cl_convert_double16_satDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x double> @_Z20convert_double16_satDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z24_cl_convert_double16_satDv16_m(<16 x i64> %a)
  ret <16 x double> %call
}


declare double @_Z26_cl_convert_double_sat_rtpm(i64) local_unnamed_addr #0

define spir_func double @_Z22convert_double_sat_rtpm(i64 %a) local_unnamed_addr #0 {
  %call = tail call double @_Z26_cl_convert_double_sat_rtpm(i64 %a)
  ret double %call
}


declare <2 x double> @_Z27_cl_convert_double2_sat_rtpDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x double> @_Z23convert_double2_sat_rtpDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z27_cl_convert_double2_sat_rtpDv2_m(<2 x i64> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z27_cl_convert_double3_sat_rtpDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x double> @_Z23convert_double3_sat_rtpDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z27_cl_convert_double3_sat_rtpDv3_m(<3 x i64> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z27_cl_convert_double4_sat_rtpDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x double> @_Z23convert_double4_sat_rtpDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z27_cl_convert_double4_sat_rtpDv4_m(<4 x i64> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z27_cl_convert_double8_sat_rtpDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x double> @_Z23convert_double8_sat_rtpDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z27_cl_convert_double8_sat_rtpDv8_m(<8 x i64> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z28_cl_convert_double16_sat_rtpDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x double> @_Z24convert_double16_sat_rtpDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z28_cl_convert_double16_sat_rtpDv16_m(<16 x i64> %a)
  ret <16 x double> %call
}


declare double @_Z26_cl_convert_double_sat_rtnm(i64) local_unnamed_addr #0

define spir_func double @_Z22convert_double_sat_rtnm(i64 %a) local_unnamed_addr #0 {
  %call = tail call double @_Z26_cl_convert_double_sat_rtnm(i64 %a)
  ret double %call
}


declare <2 x double> @_Z27_cl_convert_double2_sat_rtnDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x double> @_Z23convert_double2_sat_rtnDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z27_cl_convert_double2_sat_rtnDv2_m(<2 x i64> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z27_cl_convert_double3_sat_rtnDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x double> @_Z23convert_double3_sat_rtnDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z27_cl_convert_double3_sat_rtnDv3_m(<3 x i64> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z27_cl_convert_double4_sat_rtnDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x double> @_Z23convert_double4_sat_rtnDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z27_cl_convert_double4_sat_rtnDv4_m(<4 x i64> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z27_cl_convert_double8_sat_rtnDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x double> @_Z23convert_double8_sat_rtnDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z27_cl_convert_double8_sat_rtnDv8_m(<8 x i64> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z28_cl_convert_double16_sat_rtnDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x double> @_Z24convert_double16_sat_rtnDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z28_cl_convert_double16_sat_rtnDv16_m(<16 x i64> %a)
  ret <16 x double> %call
}


declare double @_Z26_cl_convert_double_sat_rtem(i64) local_unnamed_addr #0

define spir_func double @_Z22convert_double_sat_rtem(i64 %a) local_unnamed_addr #0 {
  %call = tail call double @_Z26_cl_convert_double_sat_rtem(i64 %a)
  ret double %call
}


declare <2 x double> @_Z27_cl_convert_double2_sat_rteDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x double> @_Z23convert_double2_sat_rteDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z27_cl_convert_double2_sat_rteDv2_m(<2 x i64> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z27_cl_convert_double3_sat_rteDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x double> @_Z23convert_double3_sat_rteDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z27_cl_convert_double3_sat_rteDv3_m(<3 x i64> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z27_cl_convert_double4_sat_rteDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x double> @_Z23convert_double4_sat_rteDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z27_cl_convert_double4_sat_rteDv4_m(<4 x i64> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z27_cl_convert_double8_sat_rteDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x double> @_Z23convert_double8_sat_rteDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z27_cl_convert_double8_sat_rteDv8_m(<8 x i64> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z28_cl_convert_double16_sat_rteDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x double> @_Z24convert_double16_sat_rteDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z28_cl_convert_double16_sat_rteDv16_m(<16 x i64> %a)
  ret <16 x double> %call
}


declare double @_Z26_cl_convert_double_sat_rtzm(i64) local_unnamed_addr #0

define spir_func double @_Z22convert_double_sat_rtzm(i64 %a) local_unnamed_addr #0 {
  %call = tail call double @_Z26_cl_convert_double_sat_rtzm(i64 %a)
  ret double %call
}


declare <2 x double> @_Z27_cl_convert_double2_sat_rtzDv2_m(<2 x i64>) local_unnamed_addr #0

define spir_func <2 x double> @_Z23convert_double2_sat_rtzDv2_m(<2 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z27_cl_convert_double2_sat_rtzDv2_m(<2 x i64> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z27_cl_convert_double3_sat_rtzDv3_m(<3 x i64>) local_unnamed_addr #0

define spir_func <3 x double> @_Z23convert_double3_sat_rtzDv3_m(<3 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z27_cl_convert_double3_sat_rtzDv3_m(<3 x i64> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z27_cl_convert_double4_sat_rtzDv4_m(<4 x i64>) local_unnamed_addr #0

define spir_func <4 x double> @_Z23convert_double4_sat_rtzDv4_m(<4 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z27_cl_convert_double4_sat_rtzDv4_m(<4 x i64> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z27_cl_convert_double8_sat_rtzDv8_m(<8 x i64>) local_unnamed_addr #0

define spir_func <8 x double> @_Z23convert_double8_sat_rtzDv8_m(<8 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z27_cl_convert_double8_sat_rtzDv8_m(<8 x i64> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z28_cl_convert_double16_sat_rtzDv16_m(<16 x i64>) local_unnamed_addr #0

define spir_func <16 x double> @_Z24convert_double16_sat_rtzDv16_m(<16 x i64> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z28_cl_convert_double16_sat_rtzDv16_m(<16 x i64> %a)
  ret <16 x double> %call
}


declare double @_Z18_cl_convert_doublef(float) local_unnamed_addr #0

define spir_func double @_Z14convert_doublef(float %a) local_unnamed_addr #0 {
  %call = tail call double @_Z18_cl_convert_doublef(float %a)
  ret double %call
}


declare <2 x double> @_Z19_cl_convert_double2Dv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x double> @_Z15convert_double2Dv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z19_cl_convert_double2Dv2_f(<2 x float> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z19_cl_convert_double3Dv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x double> @_Z15convert_double3Dv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z19_cl_convert_double3Dv3_f(<3 x float> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z19_cl_convert_double4Dv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x double> @_Z15convert_double4Dv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z19_cl_convert_double4Dv4_f(<4 x float> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z19_cl_convert_double8Dv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x double> @_Z15convert_double8Dv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z19_cl_convert_double8Dv8_f(<8 x float> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z20_cl_convert_double16Dv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x double> @_Z16convert_double16Dv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z20_cl_convert_double16Dv16_f(<16 x float> %a)
  ret <16 x double> %call
}


declare double @_Z22_cl_convert_double_rtpf(float) local_unnamed_addr #0

define spir_func double @_Z18convert_double_rtpf(float %a) local_unnamed_addr #0 {
  %call = tail call double @_Z22_cl_convert_double_rtpf(float %a)
  ret double %call
}


declare <2 x double> @_Z23_cl_convert_double2_rtpDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x double> @_Z19convert_double2_rtpDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z23_cl_convert_double2_rtpDv2_f(<2 x float> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z23_cl_convert_double3_rtpDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x double> @_Z19convert_double3_rtpDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z23_cl_convert_double3_rtpDv3_f(<3 x float> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z23_cl_convert_double4_rtpDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x double> @_Z19convert_double4_rtpDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z23_cl_convert_double4_rtpDv4_f(<4 x float> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z23_cl_convert_double8_rtpDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x double> @_Z19convert_double8_rtpDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z23_cl_convert_double8_rtpDv8_f(<8 x float> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z24_cl_convert_double16_rtpDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x double> @_Z20convert_double16_rtpDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z24_cl_convert_double16_rtpDv16_f(<16 x float> %a)
  ret <16 x double> %call
}


declare double @_Z22_cl_convert_double_rtnf(float) local_unnamed_addr #0

define spir_func double @_Z18convert_double_rtnf(float %a) local_unnamed_addr #0 {
  %call = tail call double @_Z22_cl_convert_double_rtnf(float %a)
  ret double %call
}


declare <2 x double> @_Z23_cl_convert_double2_rtnDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x double> @_Z19convert_double2_rtnDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z23_cl_convert_double2_rtnDv2_f(<2 x float> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z23_cl_convert_double3_rtnDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x double> @_Z19convert_double3_rtnDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z23_cl_convert_double3_rtnDv3_f(<3 x float> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z23_cl_convert_double4_rtnDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x double> @_Z19convert_double4_rtnDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z23_cl_convert_double4_rtnDv4_f(<4 x float> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z23_cl_convert_double8_rtnDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x double> @_Z19convert_double8_rtnDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z23_cl_convert_double8_rtnDv8_f(<8 x float> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z24_cl_convert_double16_rtnDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x double> @_Z20convert_double16_rtnDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z24_cl_convert_double16_rtnDv16_f(<16 x float> %a)
  ret <16 x double> %call
}


declare double @_Z22_cl_convert_double_rtef(float) local_unnamed_addr #0

define spir_func double @_Z18convert_double_rtef(float %a) local_unnamed_addr #0 {
  %call = tail call double @_Z22_cl_convert_double_rtef(float %a)
  ret double %call
}


declare <2 x double> @_Z23_cl_convert_double2_rteDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x double> @_Z19convert_double2_rteDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z23_cl_convert_double2_rteDv2_f(<2 x float> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z23_cl_convert_double3_rteDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x double> @_Z19convert_double3_rteDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z23_cl_convert_double3_rteDv3_f(<3 x float> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z23_cl_convert_double4_rteDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x double> @_Z19convert_double4_rteDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z23_cl_convert_double4_rteDv4_f(<4 x float> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z23_cl_convert_double8_rteDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x double> @_Z19convert_double8_rteDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z23_cl_convert_double8_rteDv8_f(<8 x float> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z24_cl_convert_double16_rteDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x double> @_Z20convert_double16_rteDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z24_cl_convert_double16_rteDv16_f(<16 x float> %a)
  ret <16 x double> %call
}


declare double @_Z22_cl_convert_double_rtzf(float) local_unnamed_addr #0

define spir_func double @_Z18convert_double_rtzf(float %a) local_unnamed_addr #0 {
  %call = tail call double @_Z22_cl_convert_double_rtzf(float %a)
  ret double %call
}


declare <2 x double> @_Z23_cl_convert_double2_rtzDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x double> @_Z19convert_double2_rtzDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z23_cl_convert_double2_rtzDv2_f(<2 x float> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z23_cl_convert_double3_rtzDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x double> @_Z19convert_double3_rtzDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z23_cl_convert_double3_rtzDv3_f(<3 x float> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z23_cl_convert_double4_rtzDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x double> @_Z19convert_double4_rtzDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z23_cl_convert_double4_rtzDv4_f(<4 x float> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z23_cl_convert_double8_rtzDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x double> @_Z19convert_double8_rtzDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z23_cl_convert_double8_rtzDv8_f(<8 x float> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z24_cl_convert_double16_rtzDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x double> @_Z20convert_double16_rtzDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z24_cl_convert_double16_rtzDv16_f(<16 x float> %a)
  ret <16 x double> %call
}


declare double @_Z22_cl_convert_double_satf(float) local_unnamed_addr #0

define spir_func double @_Z18convert_double_satf(float %a) local_unnamed_addr #0 {
  %call = tail call double @_Z22_cl_convert_double_satf(float %a)
  ret double %call
}


declare <2 x double> @_Z23_cl_convert_double2_satDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x double> @_Z19convert_double2_satDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z23_cl_convert_double2_satDv2_f(<2 x float> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z23_cl_convert_double3_satDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x double> @_Z19convert_double3_satDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z23_cl_convert_double3_satDv3_f(<3 x float> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z23_cl_convert_double4_satDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x double> @_Z19convert_double4_satDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z23_cl_convert_double4_satDv4_f(<4 x float> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z23_cl_convert_double8_satDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x double> @_Z19convert_double8_satDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z23_cl_convert_double8_satDv8_f(<8 x float> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z24_cl_convert_double16_satDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x double> @_Z20convert_double16_satDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z24_cl_convert_double16_satDv16_f(<16 x float> %a)
  ret <16 x double> %call
}


declare double @_Z26_cl_convert_double_sat_rtpf(float) local_unnamed_addr #0

define spir_func double @_Z22convert_double_sat_rtpf(float %a) local_unnamed_addr #0 {
  %call = tail call double @_Z26_cl_convert_double_sat_rtpf(float %a)
  ret double %call
}


declare <2 x double> @_Z27_cl_convert_double2_sat_rtpDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x double> @_Z23convert_double2_sat_rtpDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z27_cl_convert_double2_sat_rtpDv2_f(<2 x float> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z27_cl_convert_double3_sat_rtpDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x double> @_Z23convert_double3_sat_rtpDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z27_cl_convert_double3_sat_rtpDv3_f(<3 x float> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z27_cl_convert_double4_sat_rtpDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x double> @_Z23convert_double4_sat_rtpDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z27_cl_convert_double4_sat_rtpDv4_f(<4 x float> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z27_cl_convert_double8_sat_rtpDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x double> @_Z23convert_double8_sat_rtpDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z27_cl_convert_double8_sat_rtpDv8_f(<8 x float> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z28_cl_convert_double16_sat_rtpDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x double> @_Z24convert_double16_sat_rtpDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z28_cl_convert_double16_sat_rtpDv16_f(<16 x float> %a)
  ret <16 x double> %call
}


declare double @_Z26_cl_convert_double_sat_rtnf(float) local_unnamed_addr #0

define spir_func double @_Z22convert_double_sat_rtnf(float %a) local_unnamed_addr #0 {
  %call = tail call double @_Z26_cl_convert_double_sat_rtnf(float %a)
  ret double %call
}


declare <2 x double> @_Z27_cl_convert_double2_sat_rtnDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x double> @_Z23convert_double2_sat_rtnDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z27_cl_convert_double2_sat_rtnDv2_f(<2 x float> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z27_cl_convert_double3_sat_rtnDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x double> @_Z23convert_double3_sat_rtnDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z27_cl_convert_double3_sat_rtnDv3_f(<3 x float> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z27_cl_convert_double4_sat_rtnDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x double> @_Z23convert_double4_sat_rtnDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z27_cl_convert_double4_sat_rtnDv4_f(<4 x float> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z27_cl_convert_double8_sat_rtnDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x double> @_Z23convert_double8_sat_rtnDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z27_cl_convert_double8_sat_rtnDv8_f(<8 x float> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z28_cl_convert_double16_sat_rtnDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x double> @_Z24convert_double16_sat_rtnDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z28_cl_convert_double16_sat_rtnDv16_f(<16 x float> %a)
  ret <16 x double> %call
}


declare double @_Z26_cl_convert_double_sat_rtef(float) local_unnamed_addr #0

define spir_func double @_Z22convert_double_sat_rtef(float %a) local_unnamed_addr #0 {
  %call = tail call double @_Z26_cl_convert_double_sat_rtef(float %a)
  ret double %call
}


declare <2 x double> @_Z27_cl_convert_double2_sat_rteDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x double> @_Z23convert_double2_sat_rteDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z27_cl_convert_double2_sat_rteDv2_f(<2 x float> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z27_cl_convert_double3_sat_rteDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x double> @_Z23convert_double3_sat_rteDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z27_cl_convert_double3_sat_rteDv3_f(<3 x float> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z27_cl_convert_double4_sat_rteDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x double> @_Z23convert_double4_sat_rteDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z27_cl_convert_double4_sat_rteDv4_f(<4 x float> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z27_cl_convert_double8_sat_rteDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x double> @_Z23convert_double8_sat_rteDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z27_cl_convert_double8_sat_rteDv8_f(<8 x float> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z28_cl_convert_double16_sat_rteDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x double> @_Z24convert_double16_sat_rteDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z28_cl_convert_double16_sat_rteDv16_f(<16 x float> %a)
  ret <16 x double> %call
}


declare double @_Z26_cl_convert_double_sat_rtzf(float) local_unnamed_addr #0

define spir_func double @_Z22convert_double_sat_rtzf(float %a) local_unnamed_addr #0 {
  %call = tail call double @_Z26_cl_convert_double_sat_rtzf(float %a)
  ret double %call
}


declare <2 x double> @_Z27_cl_convert_double2_sat_rtzDv2_f(<2 x float>) local_unnamed_addr #0

define spir_func <2 x double> @_Z23convert_double2_sat_rtzDv2_f(<2 x float> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z27_cl_convert_double2_sat_rtzDv2_f(<2 x float> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z27_cl_convert_double3_sat_rtzDv3_f(<3 x float>) local_unnamed_addr #0

define spir_func <3 x double> @_Z23convert_double3_sat_rtzDv3_f(<3 x float> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z27_cl_convert_double3_sat_rtzDv3_f(<3 x float> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z27_cl_convert_double4_sat_rtzDv4_f(<4 x float>) local_unnamed_addr #0

define spir_func <4 x double> @_Z23convert_double4_sat_rtzDv4_f(<4 x float> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z27_cl_convert_double4_sat_rtzDv4_f(<4 x float> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z27_cl_convert_double8_sat_rtzDv8_f(<8 x float>) local_unnamed_addr #0

define spir_func <8 x double> @_Z23convert_double8_sat_rtzDv8_f(<8 x float> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z27_cl_convert_double8_sat_rtzDv8_f(<8 x float> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z28_cl_convert_double16_sat_rtzDv16_f(<16 x float>) local_unnamed_addr #0

define spir_func <16 x double> @_Z24convert_double16_sat_rtzDv16_f(<16 x float> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z28_cl_convert_double16_sat_rtzDv16_f(<16 x float> %a)
  ret <16 x double> %call
}


declare double @_Z18_cl_convert_doubled(double) local_unnamed_addr #0

define spir_func double @_Z14convert_doubled(double %a) local_unnamed_addr #0 {
  %call = tail call double @_Z18_cl_convert_doubled(double %a)
  ret double %call
}


declare <2 x double> @_Z19_cl_convert_double2Dv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z15convert_double2Dv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z19_cl_convert_double2Dv2_d(<2 x double> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z19_cl_convert_double3Dv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z15convert_double3Dv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z19_cl_convert_double3Dv3_d(<3 x double> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z19_cl_convert_double4Dv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z15convert_double4Dv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z19_cl_convert_double4Dv4_d(<4 x double> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z19_cl_convert_double8Dv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z15convert_double8Dv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z19_cl_convert_double8Dv8_d(<8 x double> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z20_cl_convert_double16Dv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z16convert_double16Dv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z20_cl_convert_double16Dv16_d(<16 x double> %a)
  ret <16 x double> %call
}


declare double @_Z22_cl_convert_double_rtpd(double) local_unnamed_addr #0

define spir_func double @_Z18convert_double_rtpd(double %a) local_unnamed_addr #0 {
  %call = tail call double @_Z22_cl_convert_double_rtpd(double %a)
  ret double %call
}


declare <2 x double> @_Z23_cl_convert_double2_rtpDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z19convert_double2_rtpDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z23_cl_convert_double2_rtpDv2_d(<2 x double> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z23_cl_convert_double3_rtpDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z19convert_double3_rtpDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z23_cl_convert_double3_rtpDv3_d(<3 x double> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z23_cl_convert_double4_rtpDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z19convert_double4_rtpDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z23_cl_convert_double4_rtpDv4_d(<4 x double> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z23_cl_convert_double8_rtpDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z19convert_double8_rtpDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z23_cl_convert_double8_rtpDv8_d(<8 x double> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z24_cl_convert_double16_rtpDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z20convert_double16_rtpDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z24_cl_convert_double16_rtpDv16_d(<16 x double> %a)
  ret <16 x double> %call
}


declare double @_Z22_cl_convert_double_rtnd(double) local_unnamed_addr #0

define spir_func double @_Z18convert_double_rtnd(double %a) local_unnamed_addr #0 {
  %call = tail call double @_Z22_cl_convert_double_rtnd(double %a)
  ret double %call
}


declare <2 x double> @_Z23_cl_convert_double2_rtnDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z19convert_double2_rtnDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z23_cl_convert_double2_rtnDv2_d(<2 x double> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z23_cl_convert_double3_rtnDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z19convert_double3_rtnDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z23_cl_convert_double3_rtnDv3_d(<3 x double> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z23_cl_convert_double4_rtnDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z19convert_double4_rtnDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z23_cl_convert_double4_rtnDv4_d(<4 x double> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z23_cl_convert_double8_rtnDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z19convert_double8_rtnDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z23_cl_convert_double8_rtnDv8_d(<8 x double> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z24_cl_convert_double16_rtnDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z20convert_double16_rtnDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z24_cl_convert_double16_rtnDv16_d(<16 x double> %a)
  ret <16 x double> %call
}


declare double @_Z22_cl_convert_double_rted(double) local_unnamed_addr #0

define spir_func double @_Z18convert_double_rted(double %a) local_unnamed_addr #0 {
  %call = tail call double @_Z22_cl_convert_double_rted(double %a)
  ret double %call
}


declare <2 x double> @_Z23_cl_convert_double2_rteDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z19convert_double2_rteDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z23_cl_convert_double2_rteDv2_d(<2 x double> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z23_cl_convert_double3_rteDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z19convert_double3_rteDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z23_cl_convert_double3_rteDv3_d(<3 x double> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z23_cl_convert_double4_rteDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z19convert_double4_rteDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z23_cl_convert_double4_rteDv4_d(<4 x double> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z23_cl_convert_double8_rteDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z19convert_double8_rteDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z23_cl_convert_double8_rteDv8_d(<8 x double> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z24_cl_convert_double16_rteDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z20convert_double16_rteDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z24_cl_convert_double16_rteDv16_d(<16 x double> %a)
  ret <16 x double> %call
}


declare double @_Z22_cl_convert_double_rtzd(double) local_unnamed_addr #0

define spir_func double @_Z18convert_double_rtzd(double %a) local_unnamed_addr #0 {
  %call = tail call double @_Z22_cl_convert_double_rtzd(double %a)
  ret double %call
}


declare <2 x double> @_Z23_cl_convert_double2_rtzDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z19convert_double2_rtzDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z23_cl_convert_double2_rtzDv2_d(<2 x double> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z23_cl_convert_double3_rtzDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z19convert_double3_rtzDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z23_cl_convert_double3_rtzDv3_d(<3 x double> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z23_cl_convert_double4_rtzDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z19convert_double4_rtzDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z23_cl_convert_double4_rtzDv4_d(<4 x double> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z23_cl_convert_double8_rtzDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z19convert_double8_rtzDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z23_cl_convert_double8_rtzDv8_d(<8 x double> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z24_cl_convert_double16_rtzDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z20convert_double16_rtzDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z24_cl_convert_double16_rtzDv16_d(<16 x double> %a)
  ret <16 x double> %call
}


declare double @_Z22_cl_convert_double_satd(double) local_unnamed_addr #0

define spir_func double @_Z18convert_double_satd(double %a) local_unnamed_addr #0 {
  %call = tail call double @_Z22_cl_convert_double_satd(double %a)
  ret double %call
}


declare <2 x double> @_Z23_cl_convert_double2_satDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z19convert_double2_satDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z23_cl_convert_double2_satDv2_d(<2 x double> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z23_cl_convert_double3_satDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z19convert_double3_satDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z23_cl_convert_double3_satDv3_d(<3 x double> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z23_cl_convert_double4_satDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z19convert_double4_satDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z23_cl_convert_double4_satDv4_d(<4 x double> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z23_cl_convert_double8_satDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z19convert_double8_satDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z23_cl_convert_double8_satDv8_d(<8 x double> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z24_cl_convert_double16_satDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z20convert_double16_satDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z24_cl_convert_double16_satDv16_d(<16 x double> %a)
  ret <16 x double> %call
}


declare double @_Z26_cl_convert_double_sat_rtpd(double) local_unnamed_addr #0

define spir_func double @_Z22convert_double_sat_rtpd(double %a) local_unnamed_addr #0 {
  %call = tail call double @_Z26_cl_convert_double_sat_rtpd(double %a)
  ret double %call
}


declare <2 x double> @_Z27_cl_convert_double2_sat_rtpDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z23convert_double2_sat_rtpDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z27_cl_convert_double2_sat_rtpDv2_d(<2 x double> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z27_cl_convert_double3_sat_rtpDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z23convert_double3_sat_rtpDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z27_cl_convert_double3_sat_rtpDv3_d(<3 x double> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z27_cl_convert_double4_sat_rtpDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z23convert_double4_sat_rtpDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z27_cl_convert_double4_sat_rtpDv4_d(<4 x double> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z27_cl_convert_double8_sat_rtpDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z23convert_double8_sat_rtpDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z27_cl_convert_double8_sat_rtpDv8_d(<8 x double> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z28_cl_convert_double16_sat_rtpDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z24convert_double16_sat_rtpDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z28_cl_convert_double16_sat_rtpDv16_d(<16 x double> %a)
  ret <16 x double> %call
}


declare double @_Z26_cl_convert_double_sat_rtnd(double) local_unnamed_addr #0

define spir_func double @_Z22convert_double_sat_rtnd(double %a) local_unnamed_addr #0 {
  %call = tail call double @_Z26_cl_convert_double_sat_rtnd(double %a)
  ret double %call
}


declare <2 x double> @_Z27_cl_convert_double2_sat_rtnDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z23convert_double2_sat_rtnDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z27_cl_convert_double2_sat_rtnDv2_d(<2 x double> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z27_cl_convert_double3_sat_rtnDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z23convert_double3_sat_rtnDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z27_cl_convert_double3_sat_rtnDv3_d(<3 x double> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z27_cl_convert_double4_sat_rtnDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z23convert_double4_sat_rtnDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z27_cl_convert_double4_sat_rtnDv4_d(<4 x double> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z27_cl_convert_double8_sat_rtnDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z23convert_double8_sat_rtnDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z27_cl_convert_double8_sat_rtnDv8_d(<8 x double> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z28_cl_convert_double16_sat_rtnDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z24convert_double16_sat_rtnDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z28_cl_convert_double16_sat_rtnDv16_d(<16 x double> %a)
  ret <16 x double> %call
}


declare double @_Z26_cl_convert_double_sat_rted(double) local_unnamed_addr #0

define spir_func double @_Z22convert_double_sat_rted(double %a) local_unnamed_addr #0 {
  %call = tail call double @_Z26_cl_convert_double_sat_rted(double %a)
  ret double %call
}


declare <2 x double> @_Z27_cl_convert_double2_sat_rteDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z23convert_double2_sat_rteDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z27_cl_convert_double2_sat_rteDv2_d(<2 x double> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z27_cl_convert_double3_sat_rteDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z23convert_double3_sat_rteDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z27_cl_convert_double3_sat_rteDv3_d(<3 x double> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z27_cl_convert_double4_sat_rteDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z23convert_double4_sat_rteDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z27_cl_convert_double4_sat_rteDv4_d(<4 x double> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z27_cl_convert_double8_sat_rteDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z23convert_double8_sat_rteDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z27_cl_convert_double8_sat_rteDv8_d(<8 x double> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z28_cl_convert_double16_sat_rteDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z24convert_double16_sat_rteDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z28_cl_convert_double16_sat_rteDv16_d(<16 x double> %a)
  ret <16 x double> %call
}


declare double @_Z26_cl_convert_double_sat_rtzd(double) local_unnamed_addr #0

define spir_func double @_Z22convert_double_sat_rtzd(double %a) local_unnamed_addr #0 {
  %call = tail call double @_Z26_cl_convert_double_sat_rtzd(double %a)
  ret double %call
}


declare <2 x double> @_Z27_cl_convert_double2_sat_rtzDv2_d(<2 x double>) local_unnamed_addr #0

define spir_func <2 x double> @_Z23convert_double2_sat_rtzDv2_d(<2 x double> %a) local_unnamed_addr #0 {
  %call = tail call <2 x double> @_Z27_cl_convert_double2_sat_rtzDv2_d(<2 x double> %a)
  ret <2 x double> %call
}


declare <3 x double> @_Z27_cl_convert_double3_sat_rtzDv3_d(<3 x double>) local_unnamed_addr #0

define spir_func <3 x double> @_Z23convert_double3_sat_rtzDv3_d(<3 x double> %a) local_unnamed_addr #0 {
  %call = tail call <3 x double> @_Z27_cl_convert_double3_sat_rtzDv3_d(<3 x double> %a)
  ret <3 x double> %call
}


declare <4 x double> @_Z27_cl_convert_double4_sat_rtzDv4_d(<4 x double>) local_unnamed_addr #0

define spir_func <4 x double> @_Z23convert_double4_sat_rtzDv4_d(<4 x double> %a) local_unnamed_addr #0 {
  %call = tail call <4 x double> @_Z27_cl_convert_double4_sat_rtzDv4_d(<4 x double> %a)
  ret <4 x double> %call
}


declare <8 x double> @_Z27_cl_convert_double8_sat_rtzDv8_d(<8 x double>) local_unnamed_addr #0

define spir_func <8 x double> @_Z23convert_double8_sat_rtzDv8_d(<8 x double> %a) local_unnamed_addr #0 {
  %call = tail call <8 x double> @_Z27_cl_convert_double8_sat_rtzDv8_d(<8 x double> %a)
  ret <8 x double> %call
}


declare <16 x double> @_Z28_cl_convert_double16_sat_rtzDv16_d(<16 x double>) local_unnamed_addr #0

define spir_func <16 x double> @_Z24convert_double16_sat_rtzDv16_d(<16 x double> %a) local_unnamed_addr #0 {
  %call = tail call <16 x double> @_Z28_cl_convert_double16_sat_rtzDv16_d(<16 x double> %a)
  ret <16 x double> %call
}


declare i32 @_Z20_cl_atomic_fetch_addPU3AS1VU7_Atomicii(ptr addrspace(1), i32) local_unnamed_addr #0

define spir_func i32 @_Z16atomic_fetch_addPU3AS1VU7_Atomicii(ptr addrspace(1) %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z20_cl_atomic_fetch_addPU3AS1VU7_Atomicii(ptr addrspace(1) %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z20_cl_atomic_fetch_addPU3AS3VU7_Atomicii(ptr addrspace(3), i32) local_unnamed_addr #0

define spir_func i32 @_Z16atomic_fetch_addPU3AS3VU7_Atomicii(ptr addrspace(3) %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z20_cl_atomic_fetch_addPU3AS3VU7_Atomicii(ptr addrspace(3) %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z29_cl_atomic_fetch_add_explicitPU3AS1VU7_Atomicii12memory_order(ptr addrspace(1), i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z25atomic_fetch_add_explicitPU3AS1VU7_Atomicii12memory_order(ptr addrspace(1) %a, i32 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i32 @_Z29_cl_atomic_fetch_add_explicitPU3AS1VU7_Atomicii12memory_order(ptr addrspace(1) %a, i32 %b, i32 %c)
  ret i32 %call
}


declare i32 @_Z29_cl_atomic_fetch_add_explicitPU3AS3VU7_Atomicii12memory_order(ptr addrspace(3), i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z25atomic_fetch_add_explicitPU3AS3VU7_Atomicii12memory_order(ptr addrspace(3) %a, i32 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i32 @_Z29_cl_atomic_fetch_add_explicitPU3AS3VU7_Atomicii12memory_order(ptr addrspace(3) %a, i32 %b, i32 %c)
  ret i32 %call
}


declare i32 @_Z29_cl_atomic_fetch_add_explicitPU3AS1VU7_Atomicii12memory_order12memory_scope(ptr addrspace(1), i32, i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z25atomic_fetch_add_explicitPU3AS1VU7_Atomicii12memory_order12memory_scope(ptr addrspace(1) %a, i32 %b, i32 %c, i32 %d) local_unnamed_addr #0 {
  %call = tail call i32 @_Z29_cl_atomic_fetch_add_explicitPU3AS1VU7_Atomicii12memory_order12memory_scope(ptr addrspace(1) %a, i32 %b, i32 %c, i32 %d)
  ret i32 %call
}


declare i32 @_Z29_cl_atomic_fetch_add_explicitPU3AS3VU7_Atomicii12memory_order12memory_scope(ptr addrspace(3), i32, i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z25atomic_fetch_add_explicitPU3AS3VU7_Atomicii12memory_order12memory_scope(ptr addrspace(3) %a, i32 %b, i32 %c, i32 %d) local_unnamed_addr #0 {
  %call = tail call i32 @_Z29_cl_atomic_fetch_add_explicitPU3AS3VU7_Atomicii12memory_order12memory_scope(ptr addrspace(3) %a, i32 %b, i32 %c, i32 %d)
  ret i32 %call
}


declare i32 @_Z20_cl_atomic_fetch_subPU3AS1VU7_Atomicii(ptr addrspace(1), i32) local_unnamed_addr #0

define spir_func i32 @_Z16atomic_fetch_subPU3AS1VU7_Atomicii(ptr addrspace(1) %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z20_cl_atomic_fetch_subPU3AS1VU7_Atomicii(ptr addrspace(1) %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z20_cl_atomic_fetch_subPU3AS3VU7_Atomicii(ptr addrspace(3), i32) local_unnamed_addr #0

define spir_func i32 @_Z16atomic_fetch_subPU3AS3VU7_Atomicii(ptr addrspace(3) %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z20_cl_atomic_fetch_subPU3AS3VU7_Atomicii(ptr addrspace(3) %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z29_cl_atomic_fetch_sub_explicitPU3AS1VU7_Atomicii12memory_order(ptr addrspace(1), i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z25atomic_fetch_sub_explicitPU3AS1VU7_Atomicii12memory_order(ptr addrspace(1) %a, i32 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i32 @_Z29_cl_atomic_fetch_sub_explicitPU3AS1VU7_Atomicii12memory_order(ptr addrspace(1) %a, i32 %b, i32 %c)
  ret i32 %call
}


declare i32 @_Z29_cl_atomic_fetch_sub_explicitPU3AS3VU7_Atomicii12memory_order(ptr addrspace(3), i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z25atomic_fetch_sub_explicitPU3AS3VU7_Atomicii12memory_order(ptr addrspace(3) %a, i32 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i32 @_Z29_cl_atomic_fetch_sub_explicitPU3AS3VU7_Atomicii12memory_order(ptr addrspace(3) %a, i32 %b, i32 %c)
  ret i32 %call
}


declare i32 @_Z29_cl_atomic_fetch_sub_explicitPU3AS1VU7_Atomicii12memory_order12memory_scope(ptr addrspace(1), i32, i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z25atomic_fetch_sub_explicitPU3AS1VU7_Atomicii12memory_order12memory_scope(ptr addrspace(1) %a, i32 %b, i32 %c, i32 %d) local_unnamed_addr #0 {
  %call = tail call i32 @_Z29_cl_atomic_fetch_sub_explicitPU3AS1VU7_Atomicii12memory_order12memory_scope(ptr addrspace(1) %a, i32 %b, i32 %c, i32 %d)
  ret i32 %call
}


declare i32 @_Z29_cl_atomic_fetch_sub_explicitPU3AS3VU7_Atomicii12memory_order12memory_scope(ptr addrspace(3), i32, i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z25atomic_fetch_sub_explicitPU3AS3VU7_Atomicii12memory_order12memory_scope(ptr addrspace(3) %a, i32 %b, i32 %c, i32 %d) local_unnamed_addr #0 {
  %call = tail call i32 @_Z29_cl_atomic_fetch_sub_explicitPU3AS3VU7_Atomicii12memory_order12memory_scope(ptr addrspace(3) %a, i32 %b, i32 %c, i32 %d)
  ret i32 %call
}


declare i32 @_Z19_cl_atomic_fetch_orPU3AS1VU7_Atomicii(ptr addrspace(1), i32) local_unnamed_addr #0

define spir_func i32 @_Z15atomic_fetch_orPU3AS1VU7_Atomicii(ptr addrspace(1) %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z19_cl_atomic_fetch_orPU3AS1VU7_Atomicii(ptr addrspace(1) %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z19_cl_atomic_fetch_orPU3AS3VU7_Atomicii(ptr addrspace(3), i32) local_unnamed_addr #0

define spir_func i32 @_Z15atomic_fetch_orPU3AS3VU7_Atomicii(ptr addrspace(3) %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z19_cl_atomic_fetch_orPU3AS3VU7_Atomicii(ptr addrspace(3) %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z28_cl_atomic_fetch_or_explicitPU3AS1VU7_Atomicii12memory_order(ptr addrspace(1), i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z24atomic_fetch_or_explicitPU3AS1VU7_Atomicii12memory_order(ptr addrspace(1) %a, i32 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i32 @_Z28_cl_atomic_fetch_or_explicitPU3AS1VU7_Atomicii12memory_order(ptr addrspace(1) %a, i32 %b, i32 %c)
  ret i32 %call
}


declare i32 @_Z28_cl_atomic_fetch_or_explicitPU3AS3VU7_Atomicii12memory_order(ptr addrspace(3), i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z24atomic_fetch_or_explicitPU3AS3VU7_Atomicii12memory_order(ptr addrspace(3) %a, i32 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i32 @_Z28_cl_atomic_fetch_or_explicitPU3AS3VU7_Atomicii12memory_order(ptr addrspace(3) %a, i32 %b, i32 %c)
  ret i32 %call
}


declare i32 @_Z28_cl_atomic_fetch_or_explicitPU3AS1VU7_Atomicii12memory_order12memory_scope(ptr addrspace(1), i32, i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z24atomic_fetch_or_explicitPU3AS1VU7_Atomicii12memory_order12memory_scope(ptr addrspace(1) %a, i32 %b, i32 %c, i32 %d) local_unnamed_addr #0 {
  %call = tail call i32 @_Z28_cl_atomic_fetch_or_explicitPU3AS1VU7_Atomicii12memory_order12memory_scope(ptr addrspace(1) %a, i32 %b, i32 %c, i32 %d)
  ret i32 %call
}


declare i32 @_Z28_cl_atomic_fetch_or_explicitPU3AS3VU7_Atomicii12memory_order12memory_scope(ptr addrspace(3), i32, i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z24atomic_fetch_or_explicitPU3AS3VU7_Atomicii12memory_order12memory_scope(ptr addrspace(3) %a, i32 %b, i32 %c, i32 %d) local_unnamed_addr #0 {
  %call = tail call i32 @_Z28_cl_atomic_fetch_or_explicitPU3AS3VU7_Atomicii12memory_order12memory_scope(ptr addrspace(3) %a, i32 %b, i32 %c, i32 %d)
  ret i32 %call
}


declare i32 @_Z20_cl_atomic_fetch_xorPU3AS1VU7_Atomicii(ptr addrspace(1), i32) local_unnamed_addr #0

define spir_func i32 @_Z16atomic_fetch_xorPU3AS1VU7_Atomicii(ptr addrspace(1) %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z20_cl_atomic_fetch_xorPU3AS1VU7_Atomicii(ptr addrspace(1) %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z20_cl_atomic_fetch_xorPU3AS3VU7_Atomicii(ptr addrspace(3), i32) local_unnamed_addr #0

define spir_func i32 @_Z16atomic_fetch_xorPU3AS3VU7_Atomicii(ptr addrspace(3) %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z20_cl_atomic_fetch_xorPU3AS3VU7_Atomicii(ptr addrspace(3) %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z29_cl_atomic_fetch_xor_explicitPU3AS1VU7_Atomicii12memory_order(ptr addrspace(1), i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z25atomic_fetch_xor_explicitPU3AS1VU7_Atomicii12memory_order(ptr addrspace(1) %a, i32 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i32 @_Z29_cl_atomic_fetch_xor_explicitPU3AS1VU7_Atomicii12memory_order(ptr addrspace(1) %a, i32 %b, i32 %c)
  ret i32 %call
}


declare i32 @_Z29_cl_atomic_fetch_xor_explicitPU3AS3VU7_Atomicii12memory_order(ptr addrspace(3), i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z25atomic_fetch_xor_explicitPU3AS3VU7_Atomicii12memory_order(ptr addrspace(3) %a, i32 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i32 @_Z29_cl_atomic_fetch_xor_explicitPU3AS3VU7_Atomicii12memory_order(ptr addrspace(3) %a, i32 %b, i32 %c)
  ret i32 %call
}


declare i32 @_Z29_cl_atomic_fetch_xor_explicitPU3AS1VU7_Atomicii12memory_order12memory_scope(ptr addrspace(1), i32, i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z25atomic_fetch_xor_explicitPU3AS1VU7_Atomicii12memory_order12memory_scope(ptr addrspace(1) %a, i32 %b, i32 %c, i32 %d) local_unnamed_addr #0 {
  %call = tail call i32 @_Z29_cl_atomic_fetch_xor_explicitPU3AS1VU7_Atomicii12memory_order12memory_scope(ptr addrspace(1) %a, i32 %b, i32 %c, i32 %d)
  ret i32 %call
}


declare i32 @_Z29_cl_atomic_fetch_xor_explicitPU3AS3VU7_Atomicii12memory_order12memory_scope(ptr addrspace(3), i32, i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z25atomic_fetch_xor_explicitPU3AS3VU7_Atomicii12memory_order12memory_scope(ptr addrspace(3) %a, i32 %b, i32 %c, i32 %d) local_unnamed_addr #0 {
  %call = tail call i32 @_Z29_cl_atomic_fetch_xor_explicitPU3AS3VU7_Atomicii12memory_order12memory_scope(ptr addrspace(3) %a, i32 %b, i32 %c, i32 %d)
  ret i32 %call
}


declare i32 @_Z20_cl_atomic_fetch_andPU3AS1VU7_Atomicii(ptr addrspace(1), i32) local_unnamed_addr #0

define spir_func i32 @_Z16atomic_fetch_andPU3AS1VU7_Atomicii(ptr addrspace(1) %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z20_cl_atomic_fetch_andPU3AS1VU7_Atomicii(ptr addrspace(1) %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z20_cl_atomic_fetch_andPU3AS3VU7_Atomicii(ptr addrspace(3), i32) local_unnamed_addr #0

define spir_func i32 @_Z16atomic_fetch_andPU3AS3VU7_Atomicii(ptr addrspace(3) %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z20_cl_atomic_fetch_andPU3AS3VU7_Atomicii(ptr addrspace(3) %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z29_cl_atomic_fetch_and_explicitPU3AS1VU7_Atomicii12memory_order(ptr addrspace(1), i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z25atomic_fetch_and_explicitPU3AS1VU7_Atomicii12memory_order(ptr addrspace(1) %a, i32 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i32 @_Z29_cl_atomic_fetch_and_explicitPU3AS1VU7_Atomicii12memory_order(ptr addrspace(1) %a, i32 %b, i32 %c)
  ret i32 %call
}


declare i32 @_Z29_cl_atomic_fetch_and_explicitPU3AS3VU7_Atomicii12memory_order(ptr addrspace(3), i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z25atomic_fetch_and_explicitPU3AS3VU7_Atomicii12memory_order(ptr addrspace(3) %a, i32 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i32 @_Z29_cl_atomic_fetch_and_explicitPU3AS3VU7_Atomicii12memory_order(ptr addrspace(3) %a, i32 %b, i32 %c)
  ret i32 %call
}


declare i32 @_Z29_cl_atomic_fetch_and_explicitPU3AS1VU7_Atomicii12memory_order12memory_scope(ptr addrspace(1), i32, i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z25atomic_fetch_and_explicitPU3AS1VU7_Atomicii12memory_order12memory_scope(ptr addrspace(1) %a, i32 %b, i32 %c, i32 %d) local_unnamed_addr #0 {
  %call = tail call i32 @_Z29_cl_atomic_fetch_and_explicitPU3AS1VU7_Atomicii12memory_order12memory_scope(ptr addrspace(1) %a, i32 %b, i32 %c, i32 %d)
  ret i32 %call
}


declare i32 @_Z29_cl_atomic_fetch_and_explicitPU3AS3VU7_Atomicii12memory_order12memory_scope(ptr addrspace(3), i32, i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z25atomic_fetch_and_explicitPU3AS3VU7_Atomicii12memory_order12memory_scope(ptr addrspace(3) %a, i32 %b, i32 %c, i32 %d) local_unnamed_addr #0 {
  %call = tail call i32 @_Z29_cl_atomic_fetch_and_explicitPU3AS3VU7_Atomicii12memory_order12memory_scope(ptr addrspace(3) %a, i32 %b, i32 %c, i32 %d)
  ret i32 %call
}


declare i32 @_Z20_cl_atomic_fetch_minPU3AS1VU7_Atomicii(ptr addrspace(1), i32) local_unnamed_addr #0

define spir_func i32 @_Z16atomic_fetch_minPU3AS1VU7_Atomicii(ptr addrspace(1) %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z20_cl_atomic_fetch_minPU3AS1VU7_Atomicii(ptr addrspace(1) %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z20_cl_atomic_fetch_minPU3AS3VU7_Atomicii(ptr addrspace(3), i32) local_unnamed_addr #0

define spir_func i32 @_Z16atomic_fetch_minPU3AS3VU7_Atomicii(ptr addrspace(3) %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z20_cl_atomic_fetch_minPU3AS3VU7_Atomicii(ptr addrspace(3) %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z29_cl_atomic_fetch_min_explicitPU3AS1VU7_Atomicii12memory_order(ptr addrspace(1), i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z25atomic_fetch_min_explicitPU3AS1VU7_Atomicii12memory_order(ptr addrspace(1) %a, i32 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i32 @_Z29_cl_atomic_fetch_min_explicitPU3AS1VU7_Atomicii12memory_order(ptr addrspace(1) %a, i32 %b, i32 %c)
  ret i32 %call
}


declare i32 @_Z29_cl_atomic_fetch_min_explicitPU3AS3VU7_Atomicii12memory_order(ptr addrspace(3), i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z25atomic_fetch_min_explicitPU3AS3VU7_Atomicii12memory_order(ptr addrspace(3) %a, i32 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i32 @_Z29_cl_atomic_fetch_min_explicitPU3AS3VU7_Atomicii12memory_order(ptr addrspace(3) %a, i32 %b, i32 %c)
  ret i32 %call
}


declare i32 @_Z29_cl_atomic_fetch_min_explicitPU3AS1VU7_Atomicii12memory_order12memory_scope(ptr addrspace(1), i32, i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z25atomic_fetch_min_explicitPU3AS1VU7_Atomicii12memory_order12memory_scope(ptr addrspace(1) %a, i32 %b, i32 %c, i32 %d) local_unnamed_addr #0 {
  %call = tail call i32 @_Z29_cl_atomic_fetch_min_explicitPU3AS1VU7_Atomicii12memory_order12memory_scope(ptr addrspace(1) %a, i32 %b, i32 %c, i32 %d)
  ret i32 %call
}


declare i32 @_Z29_cl_atomic_fetch_min_explicitPU3AS3VU7_Atomicii12memory_order12memory_scope(ptr addrspace(3), i32, i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z25atomic_fetch_min_explicitPU3AS3VU7_Atomicii12memory_order12memory_scope(ptr addrspace(3) %a, i32 %b, i32 %c, i32 %d) local_unnamed_addr #0 {
  %call = tail call i32 @_Z29_cl_atomic_fetch_min_explicitPU3AS3VU7_Atomicii12memory_order12memory_scope(ptr addrspace(3) %a, i32 %b, i32 %c, i32 %d)
  ret i32 %call
}


declare i32 @_Z20_cl_atomic_fetch_maxPU3AS1VU7_Atomicii(ptr addrspace(1), i32) local_unnamed_addr #0

define spir_func i32 @_Z16atomic_fetch_maxPU3AS1VU7_Atomicii(ptr addrspace(1) %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z20_cl_atomic_fetch_maxPU3AS1VU7_Atomicii(ptr addrspace(1) %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z20_cl_atomic_fetch_maxPU3AS3VU7_Atomicii(ptr addrspace(3), i32) local_unnamed_addr #0

define spir_func i32 @_Z16atomic_fetch_maxPU3AS3VU7_Atomicii(ptr addrspace(3) %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z20_cl_atomic_fetch_maxPU3AS3VU7_Atomicii(ptr addrspace(3) %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z29_cl_atomic_fetch_max_explicitPU3AS1VU7_Atomicii12memory_order(ptr addrspace(1), i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z25atomic_fetch_max_explicitPU3AS1VU7_Atomicii12memory_order(ptr addrspace(1) %a, i32 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i32 @_Z29_cl_atomic_fetch_max_explicitPU3AS1VU7_Atomicii12memory_order(ptr addrspace(1) %a, i32 %b, i32 %c)
  ret i32 %call
}


declare i32 @_Z29_cl_atomic_fetch_max_explicitPU3AS3VU7_Atomicii12memory_order(ptr addrspace(3), i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z25atomic_fetch_max_explicitPU3AS3VU7_Atomicii12memory_order(ptr addrspace(3) %a, i32 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i32 @_Z29_cl_atomic_fetch_max_explicitPU3AS3VU7_Atomicii12memory_order(ptr addrspace(3) %a, i32 %b, i32 %c)
  ret i32 %call
}


declare i32 @_Z29_cl_atomic_fetch_max_explicitPU3AS1VU7_Atomicii12memory_order12memory_scope(ptr addrspace(1), i32, i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z25atomic_fetch_max_explicitPU3AS1VU7_Atomicii12memory_order12memory_scope(ptr addrspace(1) %a, i32 %b, i32 %c, i32 %d) local_unnamed_addr #0 {
  %call = tail call i32 @_Z29_cl_atomic_fetch_max_explicitPU3AS1VU7_Atomicii12memory_order12memory_scope(ptr addrspace(1) %a, i32 %b, i32 %c, i32 %d)
  ret i32 %call
}


declare i32 @_Z29_cl_atomic_fetch_max_explicitPU3AS3VU7_Atomicii12memory_order12memory_scope(ptr addrspace(3), i32, i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z25atomic_fetch_max_explicitPU3AS3VU7_Atomicii12memory_order12memory_scope(ptr addrspace(3) %a, i32 %b, i32 %c, i32 %d) local_unnamed_addr #0 {
  %call = tail call i32 @_Z29_cl_atomic_fetch_max_explicitPU3AS3VU7_Atomicii12memory_order12memory_scope(ptr addrspace(3) %a, i32 %b, i32 %c, i32 %d)
  ret i32 %call
}


declare i32 @_Z20_cl_atomic_fetch_addPU3AS1VU7_Atomicjj(ptr addrspace(1), i32) local_unnamed_addr #0

define spir_func i32 @_Z16atomic_fetch_addPU3AS1VU7_Atomicjj(ptr addrspace(1) %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z20_cl_atomic_fetch_addPU3AS1VU7_Atomicjj(ptr addrspace(1) %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z20_cl_atomic_fetch_addPU3AS3VU7_Atomicjj(ptr addrspace(3), i32) local_unnamed_addr #0

define spir_func i32 @_Z16atomic_fetch_addPU3AS3VU7_Atomicjj(ptr addrspace(3) %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z20_cl_atomic_fetch_addPU3AS3VU7_Atomicjj(ptr addrspace(3) %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z29_cl_atomic_fetch_add_explicitPU3AS1VU7_Atomicjj12memory_order(ptr addrspace(1), i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z25atomic_fetch_add_explicitPU3AS1VU7_Atomicjj12memory_order(ptr addrspace(1) %a, i32 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i32 @_Z29_cl_atomic_fetch_add_explicitPU3AS1VU7_Atomicjj12memory_order(ptr addrspace(1) %a, i32 %b, i32 %c)
  ret i32 %call
}


declare i32 @_Z29_cl_atomic_fetch_add_explicitPU3AS3VU7_Atomicjj12memory_order(ptr addrspace(3), i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z25atomic_fetch_add_explicitPU3AS3VU7_Atomicjj12memory_order(ptr addrspace(3) %a, i32 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i32 @_Z29_cl_atomic_fetch_add_explicitPU3AS3VU7_Atomicjj12memory_order(ptr addrspace(3) %a, i32 %b, i32 %c)
  ret i32 %call
}


declare i32 @_Z29_cl_atomic_fetch_add_explicitPU3AS1VU7_Atomicjj12memory_order12memory_scope(ptr addrspace(1), i32, i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z25atomic_fetch_add_explicitPU3AS1VU7_Atomicjj12memory_order12memory_scope(ptr addrspace(1) %a, i32 %b, i32 %c, i32 %d) local_unnamed_addr #0 {
  %call = tail call i32 @_Z29_cl_atomic_fetch_add_explicitPU3AS1VU7_Atomicjj12memory_order12memory_scope(ptr addrspace(1) %a, i32 %b, i32 %c, i32 %d)
  ret i32 %call
}


declare i32 @_Z29_cl_atomic_fetch_add_explicitPU3AS3VU7_Atomicjj12memory_order12memory_scope(ptr addrspace(3), i32, i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z25atomic_fetch_add_explicitPU3AS3VU7_Atomicjj12memory_order12memory_scope(ptr addrspace(3) %a, i32 %b, i32 %c, i32 %d) local_unnamed_addr #0 {
  %call = tail call i32 @_Z29_cl_atomic_fetch_add_explicitPU3AS3VU7_Atomicjj12memory_order12memory_scope(ptr addrspace(3) %a, i32 %b, i32 %c, i32 %d)
  ret i32 %call
}


declare i32 @_Z20_cl_atomic_fetch_subPU3AS1VU7_Atomicjj(ptr addrspace(1), i32) local_unnamed_addr #0

define spir_func i32 @_Z16atomic_fetch_subPU3AS1VU7_Atomicjj(ptr addrspace(1) %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z20_cl_atomic_fetch_subPU3AS1VU7_Atomicjj(ptr addrspace(1) %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z20_cl_atomic_fetch_subPU3AS3VU7_Atomicjj(ptr addrspace(3), i32) local_unnamed_addr #0

define spir_func i32 @_Z16atomic_fetch_subPU3AS3VU7_Atomicjj(ptr addrspace(3) %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z20_cl_atomic_fetch_subPU3AS3VU7_Atomicjj(ptr addrspace(3) %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z29_cl_atomic_fetch_sub_explicitPU3AS1VU7_Atomicjj12memory_order(ptr addrspace(1), i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z25atomic_fetch_sub_explicitPU3AS1VU7_Atomicjj12memory_order(ptr addrspace(1) %a, i32 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i32 @_Z29_cl_atomic_fetch_sub_explicitPU3AS1VU7_Atomicjj12memory_order(ptr addrspace(1) %a, i32 %b, i32 %c)
  ret i32 %call
}


declare i32 @_Z29_cl_atomic_fetch_sub_explicitPU3AS3VU7_Atomicjj12memory_order(ptr addrspace(3), i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z25atomic_fetch_sub_explicitPU3AS3VU7_Atomicjj12memory_order(ptr addrspace(3) %a, i32 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i32 @_Z29_cl_atomic_fetch_sub_explicitPU3AS3VU7_Atomicjj12memory_order(ptr addrspace(3) %a, i32 %b, i32 %c)
  ret i32 %call
}


declare i32 @_Z29_cl_atomic_fetch_sub_explicitPU3AS1VU7_Atomicjj12memory_order12memory_scope(ptr addrspace(1), i32, i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z25atomic_fetch_sub_explicitPU3AS1VU7_Atomicjj12memory_order12memory_scope(ptr addrspace(1) %a, i32 %b, i32 %c, i32 %d) local_unnamed_addr #0 {
  %call = tail call i32 @_Z29_cl_atomic_fetch_sub_explicitPU3AS1VU7_Atomicjj12memory_order12memory_scope(ptr addrspace(1) %a, i32 %b, i32 %c, i32 %d)
  ret i32 %call
}


declare i32 @_Z29_cl_atomic_fetch_sub_explicitPU3AS3VU7_Atomicjj12memory_order12memory_scope(ptr addrspace(3), i32, i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z25atomic_fetch_sub_explicitPU3AS3VU7_Atomicjj12memory_order12memory_scope(ptr addrspace(3) %a, i32 %b, i32 %c, i32 %d) local_unnamed_addr #0 {
  %call = tail call i32 @_Z29_cl_atomic_fetch_sub_explicitPU3AS3VU7_Atomicjj12memory_order12memory_scope(ptr addrspace(3) %a, i32 %b, i32 %c, i32 %d)
  ret i32 %call
}


declare i32 @_Z19_cl_atomic_fetch_orPU3AS1VU7_Atomicjj(ptr addrspace(1), i32) local_unnamed_addr #0

define spir_func i32 @_Z15atomic_fetch_orPU3AS1VU7_Atomicjj(ptr addrspace(1) %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z19_cl_atomic_fetch_orPU3AS1VU7_Atomicjj(ptr addrspace(1) %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z19_cl_atomic_fetch_orPU3AS3VU7_Atomicjj(ptr addrspace(3), i32) local_unnamed_addr #0

define spir_func i32 @_Z15atomic_fetch_orPU3AS3VU7_Atomicjj(ptr addrspace(3) %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z19_cl_atomic_fetch_orPU3AS3VU7_Atomicjj(ptr addrspace(3) %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z28_cl_atomic_fetch_or_explicitPU3AS1VU7_Atomicjj12memory_order(ptr addrspace(1), i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z24atomic_fetch_or_explicitPU3AS1VU7_Atomicjj12memory_order(ptr addrspace(1) %a, i32 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i32 @_Z28_cl_atomic_fetch_or_explicitPU3AS1VU7_Atomicjj12memory_order(ptr addrspace(1) %a, i32 %b, i32 %c)
  ret i32 %call
}


declare i32 @_Z28_cl_atomic_fetch_or_explicitPU3AS3VU7_Atomicjj12memory_order(ptr addrspace(3), i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z24atomic_fetch_or_explicitPU3AS3VU7_Atomicjj12memory_order(ptr addrspace(3) %a, i32 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i32 @_Z28_cl_atomic_fetch_or_explicitPU3AS3VU7_Atomicjj12memory_order(ptr addrspace(3) %a, i32 %b, i32 %c)
  ret i32 %call
}


declare i32 @_Z28_cl_atomic_fetch_or_explicitPU3AS1VU7_Atomicjj12memory_order12memory_scope(ptr addrspace(1), i32, i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z24atomic_fetch_or_explicitPU3AS1VU7_Atomicjj12memory_order12memory_scope(ptr addrspace(1) %a, i32 %b, i32 %c, i32 %d) local_unnamed_addr #0 {
  %call = tail call i32 @_Z28_cl_atomic_fetch_or_explicitPU3AS1VU7_Atomicjj12memory_order12memory_scope(ptr addrspace(1) %a, i32 %b, i32 %c, i32 %d)
  ret i32 %call
}


declare i32 @_Z28_cl_atomic_fetch_or_explicitPU3AS3VU7_Atomicjj12memory_order12memory_scope(ptr addrspace(3), i32, i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z24atomic_fetch_or_explicitPU3AS3VU7_Atomicjj12memory_order12memory_scope(ptr addrspace(3) %a, i32 %b, i32 %c, i32 %d) local_unnamed_addr #0 {
  %call = tail call i32 @_Z28_cl_atomic_fetch_or_explicitPU3AS3VU7_Atomicjj12memory_order12memory_scope(ptr addrspace(3) %a, i32 %b, i32 %c, i32 %d)
  ret i32 %call
}


declare i32 @_Z20_cl_atomic_fetch_xorPU3AS1VU7_Atomicjj(ptr addrspace(1), i32) local_unnamed_addr #0

define spir_func i32 @_Z16atomic_fetch_xorPU3AS1VU7_Atomicjj(ptr addrspace(1) %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z20_cl_atomic_fetch_xorPU3AS1VU7_Atomicjj(ptr addrspace(1) %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z20_cl_atomic_fetch_xorPU3AS3VU7_Atomicjj(ptr addrspace(3), i32) local_unnamed_addr #0

define spir_func i32 @_Z16atomic_fetch_xorPU3AS3VU7_Atomicjj(ptr addrspace(3) %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z20_cl_atomic_fetch_xorPU3AS3VU7_Atomicjj(ptr addrspace(3) %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z29_cl_atomic_fetch_xor_explicitPU3AS1VU7_Atomicjj12memory_order(ptr addrspace(1), i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z25atomic_fetch_xor_explicitPU3AS1VU7_Atomicjj12memory_order(ptr addrspace(1) %a, i32 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i32 @_Z29_cl_atomic_fetch_xor_explicitPU3AS1VU7_Atomicjj12memory_order(ptr addrspace(1) %a, i32 %b, i32 %c)
  ret i32 %call
}


declare i32 @_Z29_cl_atomic_fetch_xor_explicitPU3AS3VU7_Atomicjj12memory_order(ptr addrspace(3), i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z25atomic_fetch_xor_explicitPU3AS3VU7_Atomicjj12memory_order(ptr addrspace(3) %a, i32 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i32 @_Z29_cl_atomic_fetch_xor_explicitPU3AS3VU7_Atomicjj12memory_order(ptr addrspace(3) %a, i32 %b, i32 %c)
  ret i32 %call
}


declare i32 @_Z29_cl_atomic_fetch_xor_explicitPU3AS1VU7_Atomicjj12memory_order12memory_scope(ptr addrspace(1), i32, i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z25atomic_fetch_xor_explicitPU3AS1VU7_Atomicjj12memory_order12memory_scope(ptr addrspace(1) %a, i32 %b, i32 %c, i32 %d) local_unnamed_addr #0 {
  %call = tail call i32 @_Z29_cl_atomic_fetch_xor_explicitPU3AS1VU7_Atomicjj12memory_order12memory_scope(ptr addrspace(1) %a, i32 %b, i32 %c, i32 %d)
  ret i32 %call
}


declare i32 @_Z29_cl_atomic_fetch_xor_explicitPU3AS3VU7_Atomicjj12memory_order12memory_scope(ptr addrspace(3), i32, i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z25atomic_fetch_xor_explicitPU3AS3VU7_Atomicjj12memory_order12memory_scope(ptr addrspace(3) %a, i32 %b, i32 %c, i32 %d) local_unnamed_addr #0 {
  %call = tail call i32 @_Z29_cl_atomic_fetch_xor_explicitPU3AS3VU7_Atomicjj12memory_order12memory_scope(ptr addrspace(3) %a, i32 %b, i32 %c, i32 %d)
  ret i32 %call
}


declare i32 @_Z20_cl_atomic_fetch_andPU3AS1VU7_Atomicjj(ptr addrspace(1), i32) local_unnamed_addr #0

define spir_func i32 @_Z16atomic_fetch_andPU3AS1VU7_Atomicjj(ptr addrspace(1) %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z20_cl_atomic_fetch_andPU3AS1VU7_Atomicjj(ptr addrspace(1) %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z20_cl_atomic_fetch_andPU3AS3VU7_Atomicjj(ptr addrspace(3), i32) local_unnamed_addr #0

define spir_func i32 @_Z16atomic_fetch_andPU3AS3VU7_Atomicjj(ptr addrspace(3) %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z20_cl_atomic_fetch_andPU3AS3VU7_Atomicjj(ptr addrspace(3) %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z29_cl_atomic_fetch_and_explicitPU3AS1VU7_Atomicjj12memory_order(ptr addrspace(1), i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z25atomic_fetch_and_explicitPU3AS1VU7_Atomicjj12memory_order(ptr addrspace(1) %a, i32 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i32 @_Z29_cl_atomic_fetch_and_explicitPU3AS1VU7_Atomicjj12memory_order(ptr addrspace(1) %a, i32 %b, i32 %c)
  ret i32 %call
}


declare i32 @_Z29_cl_atomic_fetch_and_explicitPU3AS3VU7_Atomicjj12memory_order(ptr addrspace(3), i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z25atomic_fetch_and_explicitPU3AS3VU7_Atomicjj12memory_order(ptr addrspace(3) %a, i32 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i32 @_Z29_cl_atomic_fetch_and_explicitPU3AS3VU7_Atomicjj12memory_order(ptr addrspace(3) %a, i32 %b, i32 %c)
  ret i32 %call
}


declare i32 @_Z29_cl_atomic_fetch_and_explicitPU3AS1VU7_Atomicjj12memory_order12memory_scope(ptr addrspace(1), i32, i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z25atomic_fetch_and_explicitPU3AS1VU7_Atomicjj12memory_order12memory_scope(ptr addrspace(1) %a, i32 %b, i32 %c, i32 %d) local_unnamed_addr #0 {
  %call = tail call i32 @_Z29_cl_atomic_fetch_and_explicitPU3AS1VU7_Atomicjj12memory_order12memory_scope(ptr addrspace(1) %a, i32 %b, i32 %c, i32 %d)
  ret i32 %call
}


declare i32 @_Z29_cl_atomic_fetch_and_explicitPU3AS3VU7_Atomicjj12memory_order12memory_scope(ptr addrspace(3), i32, i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z25atomic_fetch_and_explicitPU3AS3VU7_Atomicjj12memory_order12memory_scope(ptr addrspace(3) %a, i32 %b, i32 %c, i32 %d) local_unnamed_addr #0 {
  %call = tail call i32 @_Z29_cl_atomic_fetch_and_explicitPU3AS3VU7_Atomicjj12memory_order12memory_scope(ptr addrspace(3) %a, i32 %b, i32 %c, i32 %d)
  ret i32 %call
}


declare i32 @_Z20_cl_atomic_fetch_minPU3AS1VU7_Atomicjj(ptr addrspace(1), i32) local_unnamed_addr #0

define spir_func i32 @_Z16atomic_fetch_minPU3AS1VU7_Atomicjj(ptr addrspace(1) %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z20_cl_atomic_fetch_minPU3AS1VU7_Atomicjj(ptr addrspace(1) %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z20_cl_atomic_fetch_minPU3AS3VU7_Atomicjj(ptr addrspace(3), i32) local_unnamed_addr #0

define spir_func i32 @_Z16atomic_fetch_minPU3AS3VU7_Atomicjj(ptr addrspace(3) %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z20_cl_atomic_fetch_minPU3AS3VU7_Atomicjj(ptr addrspace(3) %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z29_cl_atomic_fetch_min_explicitPU3AS1VU7_Atomicjj12memory_order(ptr addrspace(1), i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z25atomic_fetch_min_explicitPU3AS1VU7_Atomicjj12memory_order(ptr addrspace(1) %a, i32 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i32 @_Z29_cl_atomic_fetch_min_explicitPU3AS1VU7_Atomicjj12memory_order(ptr addrspace(1) %a, i32 %b, i32 %c)
  ret i32 %call
}


declare i32 @_Z29_cl_atomic_fetch_min_explicitPU3AS3VU7_Atomicjj12memory_order(ptr addrspace(3), i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z25atomic_fetch_min_explicitPU3AS3VU7_Atomicjj12memory_order(ptr addrspace(3) %a, i32 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i32 @_Z29_cl_atomic_fetch_min_explicitPU3AS3VU7_Atomicjj12memory_order(ptr addrspace(3) %a, i32 %b, i32 %c)
  ret i32 %call
}


declare i32 @_Z29_cl_atomic_fetch_min_explicitPU3AS1VU7_Atomicjj12memory_order12memory_scope(ptr addrspace(1), i32, i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z25atomic_fetch_min_explicitPU3AS1VU7_Atomicjj12memory_order12memory_scope(ptr addrspace(1) %a, i32 %b, i32 %c, i32 %d) local_unnamed_addr #0 {
  %call = tail call i32 @_Z29_cl_atomic_fetch_min_explicitPU3AS1VU7_Atomicjj12memory_order12memory_scope(ptr addrspace(1) %a, i32 %b, i32 %c, i32 %d)
  ret i32 %call
}


declare i32 @_Z29_cl_atomic_fetch_min_explicitPU3AS3VU7_Atomicjj12memory_order12memory_scope(ptr addrspace(3), i32, i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z25atomic_fetch_min_explicitPU3AS3VU7_Atomicjj12memory_order12memory_scope(ptr addrspace(3) %a, i32 %b, i32 %c, i32 %d) local_unnamed_addr #0 {
  %call = tail call i32 @_Z29_cl_atomic_fetch_min_explicitPU3AS3VU7_Atomicjj12memory_order12memory_scope(ptr addrspace(3) %a, i32 %b, i32 %c, i32 %d)
  ret i32 %call
}


declare i32 @_Z20_cl_atomic_fetch_maxPU3AS1VU7_Atomicjj(ptr addrspace(1), i32) local_unnamed_addr #0

define spir_func i32 @_Z16atomic_fetch_maxPU3AS1VU7_Atomicjj(ptr addrspace(1) %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z20_cl_atomic_fetch_maxPU3AS1VU7_Atomicjj(ptr addrspace(1) %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z20_cl_atomic_fetch_maxPU3AS3VU7_Atomicjj(ptr addrspace(3), i32) local_unnamed_addr #0

define spir_func i32 @_Z16atomic_fetch_maxPU3AS3VU7_Atomicjj(ptr addrspace(3) %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z20_cl_atomic_fetch_maxPU3AS3VU7_Atomicjj(ptr addrspace(3) %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z29_cl_atomic_fetch_max_explicitPU3AS1VU7_Atomicjj12memory_order(ptr addrspace(1), i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z25atomic_fetch_max_explicitPU3AS1VU7_Atomicjj12memory_order(ptr addrspace(1) %a, i32 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i32 @_Z29_cl_atomic_fetch_max_explicitPU3AS1VU7_Atomicjj12memory_order(ptr addrspace(1) %a, i32 %b, i32 %c)
  ret i32 %call
}


declare i32 @_Z29_cl_atomic_fetch_max_explicitPU3AS3VU7_Atomicjj12memory_order(ptr addrspace(3), i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z25atomic_fetch_max_explicitPU3AS3VU7_Atomicjj12memory_order(ptr addrspace(3) %a, i32 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i32 @_Z29_cl_atomic_fetch_max_explicitPU3AS3VU7_Atomicjj12memory_order(ptr addrspace(3) %a, i32 %b, i32 %c)
  ret i32 %call
}


declare i32 @_Z29_cl_atomic_fetch_max_explicitPU3AS1VU7_Atomicjj12memory_order12memory_scope(ptr addrspace(1), i32, i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z25atomic_fetch_max_explicitPU3AS1VU7_Atomicjj12memory_order12memory_scope(ptr addrspace(1) %a, i32 %b, i32 %c, i32 %d) local_unnamed_addr #0 {
  %call = tail call i32 @_Z29_cl_atomic_fetch_max_explicitPU3AS1VU7_Atomicjj12memory_order12memory_scope(ptr addrspace(1) %a, i32 %b, i32 %c, i32 %d)
  ret i32 %call
}


declare i32 @_Z29_cl_atomic_fetch_max_explicitPU3AS3VU7_Atomicjj12memory_order12memory_scope(ptr addrspace(3), i32, i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z25atomic_fetch_max_explicitPU3AS3VU7_Atomicjj12memory_order12memory_scope(ptr addrspace(3) %a, i32 %b, i32 %c, i32 %d) local_unnamed_addr #0 {
  %call = tail call i32 @_Z29_cl_atomic_fetch_max_explicitPU3AS3VU7_Atomicjj12memory_order12memory_scope(ptr addrspace(3) %a, i32 %b, i32 %c, i32 %d)
  ret i32 %call
}


declare i64 @_Z20_cl_atomic_fetch_addPU3AS1VU7_Atomicll(ptr addrspace(1), i64) local_unnamed_addr #0

define spir_func i64 @_Z16atomic_fetch_addPU3AS1VU7_Atomicll(ptr addrspace(1) %a, i64 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z20_cl_atomic_fetch_addPU3AS1VU7_Atomicll(ptr addrspace(1) %a, i64 %b)
  ret i64 %call
}


declare i64 @_Z20_cl_atomic_fetch_addPU3AS3VU7_Atomicll(ptr addrspace(3), i64) local_unnamed_addr #0

define spir_func i64 @_Z16atomic_fetch_addPU3AS3VU7_Atomicll(ptr addrspace(3) %a, i64 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z20_cl_atomic_fetch_addPU3AS3VU7_Atomicll(ptr addrspace(3) %a, i64 %b)
  ret i64 %call
}


declare i64 @_Z29_cl_atomic_fetch_add_explicitPU3AS1VU7_Atomicll12memory_order(ptr addrspace(1), i64, i32) local_unnamed_addr #0

define spir_func i64 @_Z25atomic_fetch_add_explicitPU3AS1VU7_Atomicll12memory_order(ptr addrspace(1) %a, i64 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i64 @_Z29_cl_atomic_fetch_add_explicitPU3AS1VU7_Atomicll12memory_order(ptr addrspace(1) %a, i64 %b, i32 %c)
  ret i64 %call
}


declare i64 @_Z29_cl_atomic_fetch_add_explicitPU3AS3VU7_Atomicll12memory_order(ptr addrspace(3), i64, i32) local_unnamed_addr #0

define spir_func i64 @_Z25atomic_fetch_add_explicitPU3AS3VU7_Atomicll12memory_order(ptr addrspace(3) %a, i64 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i64 @_Z29_cl_atomic_fetch_add_explicitPU3AS3VU7_Atomicll12memory_order(ptr addrspace(3) %a, i64 %b, i32 %c)
  ret i64 %call
}


declare i64 @_Z29_cl_atomic_fetch_add_explicitPU3AS1VU7_Atomicll12memory_order12memory_scope(ptr addrspace(1), i64, i32, i32) local_unnamed_addr #0

define spir_func i64 @_Z25atomic_fetch_add_explicitPU3AS1VU7_Atomicll12memory_order12memory_scope(ptr addrspace(1) %a, i64 %b, i32 %c, i32 %d) local_unnamed_addr #0 {
  %call = tail call i64 @_Z29_cl_atomic_fetch_add_explicitPU3AS1VU7_Atomicll12memory_order12memory_scope(ptr addrspace(1) %a, i64 %b, i32 %c, i32 %d)
  ret i64 %call
}


declare i64 @_Z29_cl_atomic_fetch_add_explicitPU3AS3VU7_Atomicll12memory_order12memory_scope(ptr addrspace(3), i64, i32, i32) local_unnamed_addr #0

define spir_func i64 @_Z25atomic_fetch_add_explicitPU3AS3VU7_Atomicll12memory_order12memory_scope(ptr addrspace(3) %a, i64 %b, i32 %c, i32 %d) local_unnamed_addr #0 {
  %call = tail call i64 @_Z29_cl_atomic_fetch_add_explicitPU3AS3VU7_Atomicll12memory_order12memory_scope(ptr addrspace(3) %a, i64 %b, i32 %c, i32 %d)
  ret i64 %call
}


declare i64 @_Z20_cl_atomic_fetch_subPU3AS1VU7_Atomicll(ptr addrspace(1), i64) local_unnamed_addr #0

define spir_func i64 @_Z16atomic_fetch_subPU3AS1VU7_Atomicll(ptr addrspace(1) %a, i64 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z20_cl_atomic_fetch_subPU3AS1VU7_Atomicll(ptr addrspace(1) %a, i64 %b)
  ret i64 %call
}


declare i64 @_Z20_cl_atomic_fetch_subPU3AS3VU7_Atomicll(ptr addrspace(3), i64) local_unnamed_addr #0

define spir_func i64 @_Z16atomic_fetch_subPU3AS3VU7_Atomicll(ptr addrspace(3) %a, i64 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z20_cl_atomic_fetch_subPU3AS3VU7_Atomicll(ptr addrspace(3) %a, i64 %b)
  ret i64 %call
}


declare i64 @_Z29_cl_atomic_fetch_sub_explicitPU3AS1VU7_Atomicll12memory_order(ptr addrspace(1), i64, i32) local_unnamed_addr #0

define spir_func i64 @_Z25atomic_fetch_sub_explicitPU3AS1VU7_Atomicll12memory_order(ptr addrspace(1) %a, i64 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i64 @_Z29_cl_atomic_fetch_sub_explicitPU3AS1VU7_Atomicll12memory_order(ptr addrspace(1) %a, i64 %b, i32 %c)
  ret i64 %call
}


declare i64 @_Z29_cl_atomic_fetch_sub_explicitPU3AS3VU7_Atomicll12memory_order(ptr addrspace(3), i64, i32) local_unnamed_addr #0

define spir_func i64 @_Z25atomic_fetch_sub_explicitPU3AS3VU7_Atomicll12memory_order(ptr addrspace(3) %a, i64 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i64 @_Z29_cl_atomic_fetch_sub_explicitPU3AS3VU7_Atomicll12memory_order(ptr addrspace(3) %a, i64 %b, i32 %c)
  ret i64 %call
}


declare i64 @_Z29_cl_atomic_fetch_sub_explicitPU3AS1VU7_Atomicll12memory_order12memory_scope(ptr addrspace(1), i64, i32, i32) local_unnamed_addr #0

define spir_func i64 @_Z25atomic_fetch_sub_explicitPU3AS1VU7_Atomicll12memory_order12memory_scope(ptr addrspace(1) %a, i64 %b, i32 %c, i32 %d) local_unnamed_addr #0 {
  %call = tail call i64 @_Z29_cl_atomic_fetch_sub_explicitPU3AS1VU7_Atomicll12memory_order12memory_scope(ptr addrspace(1) %a, i64 %b, i32 %c, i32 %d)
  ret i64 %call
}


declare i64 @_Z29_cl_atomic_fetch_sub_explicitPU3AS3VU7_Atomicll12memory_order12memory_scope(ptr addrspace(3), i64, i32, i32) local_unnamed_addr #0

define spir_func i64 @_Z25atomic_fetch_sub_explicitPU3AS3VU7_Atomicll12memory_order12memory_scope(ptr addrspace(3) %a, i64 %b, i32 %c, i32 %d) local_unnamed_addr #0 {
  %call = tail call i64 @_Z29_cl_atomic_fetch_sub_explicitPU3AS3VU7_Atomicll12memory_order12memory_scope(ptr addrspace(3) %a, i64 %b, i32 %c, i32 %d)
  ret i64 %call
}


declare i64 @_Z19_cl_atomic_fetch_orPU3AS1VU7_Atomicll(ptr addrspace(1), i64) local_unnamed_addr #0

define spir_func i64 @_Z15atomic_fetch_orPU3AS1VU7_Atomicll(ptr addrspace(1) %a, i64 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z19_cl_atomic_fetch_orPU3AS1VU7_Atomicll(ptr addrspace(1) %a, i64 %b)
  ret i64 %call
}


declare i64 @_Z19_cl_atomic_fetch_orPU3AS3VU7_Atomicll(ptr addrspace(3), i64) local_unnamed_addr #0

define spir_func i64 @_Z15atomic_fetch_orPU3AS3VU7_Atomicll(ptr addrspace(3) %a, i64 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z19_cl_atomic_fetch_orPU3AS3VU7_Atomicll(ptr addrspace(3) %a, i64 %b)
  ret i64 %call
}


declare i64 @_Z28_cl_atomic_fetch_or_explicitPU3AS1VU7_Atomicll12memory_order(ptr addrspace(1), i64, i32) local_unnamed_addr #0

define spir_func i64 @_Z24atomic_fetch_or_explicitPU3AS1VU7_Atomicll12memory_order(ptr addrspace(1) %a, i64 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i64 @_Z28_cl_atomic_fetch_or_explicitPU3AS1VU7_Atomicll12memory_order(ptr addrspace(1) %a, i64 %b, i32 %c)
  ret i64 %call
}


declare i64 @_Z28_cl_atomic_fetch_or_explicitPU3AS3VU7_Atomicll12memory_order(ptr addrspace(3), i64, i32) local_unnamed_addr #0

define spir_func i64 @_Z24atomic_fetch_or_explicitPU3AS3VU7_Atomicll12memory_order(ptr addrspace(3) %a, i64 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i64 @_Z28_cl_atomic_fetch_or_explicitPU3AS3VU7_Atomicll12memory_order(ptr addrspace(3) %a, i64 %b, i32 %c)
  ret i64 %call
}


declare i64 @_Z28_cl_atomic_fetch_or_explicitPU3AS1VU7_Atomicll12memory_order12memory_scope(ptr addrspace(1), i64, i32, i32) local_unnamed_addr #0

define spir_func i64 @_Z24atomic_fetch_or_explicitPU3AS1VU7_Atomicll12memory_order12memory_scope(ptr addrspace(1) %a, i64 %b, i32 %c, i32 %d) local_unnamed_addr #0 {
  %call = tail call i64 @_Z28_cl_atomic_fetch_or_explicitPU3AS1VU7_Atomicll12memory_order12memory_scope(ptr addrspace(1) %a, i64 %b, i32 %c, i32 %d)
  ret i64 %call
}


declare i64 @_Z28_cl_atomic_fetch_or_explicitPU3AS3VU7_Atomicll12memory_order12memory_scope(ptr addrspace(3), i64, i32, i32) local_unnamed_addr #0

define spir_func i64 @_Z24atomic_fetch_or_explicitPU3AS3VU7_Atomicll12memory_order12memory_scope(ptr addrspace(3) %a, i64 %b, i32 %c, i32 %d) local_unnamed_addr #0 {
  %call = tail call i64 @_Z28_cl_atomic_fetch_or_explicitPU3AS3VU7_Atomicll12memory_order12memory_scope(ptr addrspace(3) %a, i64 %b, i32 %c, i32 %d)
  ret i64 %call
}


declare i64 @_Z20_cl_atomic_fetch_xorPU3AS1VU7_Atomicll(ptr addrspace(1), i64) local_unnamed_addr #0

define spir_func i64 @_Z16atomic_fetch_xorPU3AS1VU7_Atomicll(ptr addrspace(1) %a, i64 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z20_cl_atomic_fetch_xorPU3AS1VU7_Atomicll(ptr addrspace(1) %a, i64 %b)
  ret i64 %call
}


declare i64 @_Z20_cl_atomic_fetch_xorPU3AS3VU7_Atomicll(ptr addrspace(3), i64) local_unnamed_addr #0

define spir_func i64 @_Z16atomic_fetch_xorPU3AS3VU7_Atomicll(ptr addrspace(3) %a, i64 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z20_cl_atomic_fetch_xorPU3AS3VU7_Atomicll(ptr addrspace(3) %a, i64 %b)
  ret i64 %call
}


declare i64 @_Z29_cl_atomic_fetch_xor_explicitPU3AS1VU7_Atomicll12memory_order(ptr addrspace(1), i64, i32) local_unnamed_addr #0

define spir_func i64 @_Z25atomic_fetch_xor_explicitPU3AS1VU7_Atomicll12memory_order(ptr addrspace(1) %a, i64 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i64 @_Z29_cl_atomic_fetch_xor_explicitPU3AS1VU7_Atomicll12memory_order(ptr addrspace(1) %a, i64 %b, i32 %c)
  ret i64 %call
}


declare i64 @_Z29_cl_atomic_fetch_xor_explicitPU3AS3VU7_Atomicll12memory_order(ptr addrspace(3), i64, i32) local_unnamed_addr #0

define spir_func i64 @_Z25atomic_fetch_xor_explicitPU3AS3VU7_Atomicll12memory_order(ptr addrspace(3) %a, i64 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i64 @_Z29_cl_atomic_fetch_xor_explicitPU3AS3VU7_Atomicll12memory_order(ptr addrspace(3) %a, i64 %b, i32 %c)
  ret i64 %call
}


declare i64 @_Z29_cl_atomic_fetch_xor_explicitPU3AS1VU7_Atomicll12memory_order12memory_scope(ptr addrspace(1), i64, i32, i32) local_unnamed_addr #0

define spir_func i64 @_Z25atomic_fetch_xor_explicitPU3AS1VU7_Atomicll12memory_order12memory_scope(ptr addrspace(1) %a, i64 %b, i32 %c, i32 %d) local_unnamed_addr #0 {
  %call = tail call i64 @_Z29_cl_atomic_fetch_xor_explicitPU3AS1VU7_Atomicll12memory_order12memory_scope(ptr addrspace(1) %a, i64 %b, i32 %c, i32 %d)
  ret i64 %call
}


declare i64 @_Z29_cl_atomic_fetch_xor_explicitPU3AS3VU7_Atomicll12memory_order12memory_scope(ptr addrspace(3), i64, i32, i32) local_unnamed_addr #0

define spir_func i64 @_Z25atomic_fetch_xor_explicitPU3AS3VU7_Atomicll12memory_order12memory_scope(ptr addrspace(3) %a, i64 %b, i32 %c, i32 %d) local_unnamed_addr #0 {
  %call = tail call i64 @_Z29_cl_atomic_fetch_xor_explicitPU3AS3VU7_Atomicll12memory_order12memory_scope(ptr addrspace(3) %a, i64 %b, i32 %c, i32 %d)
  ret i64 %call
}


declare i64 @_Z20_cl_atomic_fetch_andPU3AS1VU7_Atomicll(ptr addrspace(1), i64) local_unnamed_addr #0

define spir_func i64 @_Z16atomic_fetch_andPU3AS1VU7_Atomicll(ptr addrspace(1) %a, i64 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z20_cl_atomic_fetch_andPU3AS1VU7_Atomicll(ptr addrspace(1) %a, i64 %b)
  ret i64 %call
}


declare i64 @_Z20_cl_atomic_fetch_andPU3AS3VU7_Atomicll(ptr addrspace(3), i64) local_unnamed_addr #0

define spir_func i64 @_Z16atomic_fetch_andPU3AS3VU7_Atomicll(ptr addrspace(3) %a, i64 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z20_cl_atomic_fetch_andPU3AS3VU7_Atomicll(ptr addrspace(3) %a, i64 %b)
  ret i64 %call
}


declare i64 @_Z29_cl_atomic_fetch_and_explicitPU3AS1VU7_Atomicll12memory_order(ptr addrspace(1), i64, i32) local_unnamed_addr #0

define spir_func i64 @_Z25atomic_fetch_and_explicitPU3AS1VU7_Atomicll12memory_order(ptr addrspace(1) %a, i64 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i64 @_Z29_cl_atomic_fetch_and_explicitPU3AS1VU7_Atomicll12memory_order(ptr addrspace(1) %a, i64 %b, i32 %c)
  ret i64 %call
}


declare i64 @_Z29_cl_atomic_fetch_and_explicitPU3AS3VU7_Atomicll12memory_order(ptr addrspace(3), i64, i32) local_unnamed_addr #0

define spir_func i64 @_Z25atomic_fetch_and_explicitPU3AS3VU7_Atomicll12memory_order(ptr addrspace(3) %a, i64 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i64 @_Z29_cl_atomic_fetch_and_explicitPU3AS3VU7_Atomicll12memory_order(ptr addrspace(3) %a, i64 %b, i32 %c)
  ret i64 %call
}


declare i64 @_Z29_cl_atomic_fetch_and_explicitPU3AS1VU7_Atomicll12memory_order12memory_scope(ptr addrspace(1), i64, i32, i32) local_unnamed_addr #0

define spir_func i64 @_Z25atomic_fetch_and_explicitPU3AS1VU7_Atomicll12memory_order12memory_scope(ptr addrspace(1) %a, i64 %b, i32 %c, i32 %d) local_unnamed_addr #0 {
  %call = tail call i64 @_Z29_cl_atomic_fetch_and_explicitPU3AS1VU7_Atomicll12memory_order12memory_scope(ptr addrspace(1) %a, i64 %b, i32 %c, i32 %d)
  ret i64 %call
}


declare i64 @_Z29_cl_atomic_fetch_and_explicitPU3AS3VU7_Atomicll12memory_order12memory_scope(ptr addrspace(3), i64, i32, i32) local_unnamed_addr #0

define spir_func i64 @_Z25atomic_fetch_and_explicitPU3AS3VU7_Atomicll12memory_order12memory_scope(ptr addrspace(3) %a, i64 %b, i32 %c, i32 %d) local_unnamed_addr #0 {
  %call = tail call i64 @_Z29_cl_atomic_fetch_and_explicitPU3AS3VU7_Atomicll12memory_order12memory_scope(ptr addrspace(3) %a, i64 %b, i32 %c, i32 %d)
  ret i64 %call
}


declare i64 @_Z20_cl_atomic_fetch_minPU3AS1VU7_Atomicll(ptr addrspace(1), i64) local_unnamed_addr #0

define spir_func i64 @_Z16atomic_fetch_minPU3AS1VU7_Atomicll(ptr addrspace(1) %a, i64 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z20_cl_atomic_fetch_minPU3AS1VU7_Atomicll(ptr addrspace(1) %a, i64 %b)
  ret i64 %call
}


declare i64 @_Z20_cl_atomic_fetch_minPU3AS3VU7_Atomicll(ptr addrspace(3), i64) local_unnamed_addr #0

define spir_func i64 @_Z16atomic_fetch_minPU3AS3VU7_Atomicll(ptr addrspace(3) %a, i64 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z20_cl_atomic_fetch_minPU3AS3VU7_Atomicll(ptr addrspace(3) %a, i64 %b)
  ret i64 %call
}


declare i64 @_Z29_cl_atomic_fetch_min_explicitPU3AS1VU7_Atomicll12memory_order(ptr addrspace(1), i64, i32) local_unnamed_addr #0

define spir_func i64 @_Z25atomic_fetch_min_explicitPU3AS1VU7_Atomicll12memory_order(ptr addrspace(1) %a, i64 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i64 @_Z29_cl_atomic_fetch_min_explicitPU3AS1VU7_Atomicll12memory_order(ptr addrspace(1) %a, i64 %b, i32 %c)
  ret i64 %call
}


declare i64 @_Z29_cl_atomic_fetch_min_explicitPU3AS3VU7_Atomicll12memory_order(ptr addrspace(3), i64, i32) local_unnamed_addr #0

define spir_func i64 @_Z25atomic_fetch_min_explicitPU3AS3VU7_Atomicll12memory_order(ptr addrspace(3) %a, i64 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i64 @_Z29_cl_atomic_fetch_min_explicitPU3AS3VU7_Atomicll12memory_order(ptr addrspace(3) %a, i64 %b, i32 %c)
  ret i64 %call
}


declare i64 @_Z29_cl_atomic_fetch_min_explicitPU3AS1VU7_Atomicll12memory_order12memory_scope(ptr addrspace(1), i64, i32, i32) local_unnamed_addr #0

define spir_func i64 @_Z25atomic_fetch_min_explicitPU3AS1VU7_Atomicll12memory_order12memory_scope(ptr addrspace(1) %a, i64 %b, i32 %c, i32 %d) local_unnamed_addr #0 {
  %call = tail call i64 @_Z29_cl_atomic_fetch_min_explicitPU3AS1VU7_Atomicll12memory_order12memory_scope(ptr addrspace(1) %a, i64 %b, i32 %c, i32 %d)
  ret i64 %call
}


declare i64 @_Z29_cl_atomic_fetch_min_explicitPU3AS3VU7_Atomicll12memory_order12memory_scope(ptr addrspace(3), i64, i32, i32) local_unnamed_addr #0

define spir_func i64 @_Z25atomic_fetch_min_explicitPU3AS3VU7_Atomicll12memory_order12memory_scope(ptr addrspace(3) %a, i64 %b, i32 %c, i32 %d) local_unnamed_addr #0 {
  %call = tail call i64 @_Z29_cl_atomic_fetch_min_explicitPU3AS3VU7_Atomicll12memory_order12memory_scope(ptr addrspace(3) %a, i64 %b, i32 %c, i32 %d)
  ret i64 %call
}


declare i64 @_Z20_cl_atomic_fetch_maxPU3AS1VU7_Atomicll(ptr addrspace(1), i64) local_unnamed_addr #0

define spir_func i64 @_Z16atomic_fetch_maxPU3AS1VU7_Atomicll(ptr addrspace(1) %a, i64 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z20_cl_atomic_fetch_maxPU3AS1VU7_Atomicll(ptr addrspace(1) %a, i64 %b)
  ret i64 %call
}


declare i64 @_Z20_cl_atomic_fetch_maxPU3AS3VU7_Atomicll(ptr addrspace(3), i64) local_unnamed_addr #0

define spir_func i64 @_Z16atomic_fetch_maxPU3AS3VU7_Atomicll(ptr addrspace(3) %a, i64 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z20_cl_atomic_fetch_maxPU3AS3VU7_Atomicll(ptr addrspace(3) %a, i64 %b)
  ret i64 %call
}


declare i64 @_Z29_cl_atomic_fetch_max_explicitPU3AS1VU7_Atomicll12memory_order(ptr addrspace(1), i64, i32) local_unnamed_addr #0

define spir_func i64 @_Z25atomic_fetch_max_explicitPU3AS1VU7_Atomicll12memory_order(ptr addrspace(1) %a, i64 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i64 @_Z29_cl_atomic_fetch_max_explicitPU3AS1VU7_Atomicll12memory_order(ptr addrspace(1) %a, i64 %b, i32 %c)
  ret i64 %call
}


declare i64 @_Z29_cl_atomic_fetch_max_explicitPU3AS3VU7_Atomicll12memory_order(ptr addrspace(3), i64, i32) local_unnamed_addr #0

define spir_func i64 @_Z25atomic_fetch_max_explicitPU3AS3VU7_Atomicll12memory_order(ptr addrspace(3) %a, i64 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i64 @_Z29_cl_atomic_fetch_max_explicitPU3AS3VU7_Atomicll12memory_order(ptr addrspace(3) %a, i64 %b, i32 %c)
  ret i64 %call
}


declare i64 @_Z29_cl_atomic_fetch_max_explicitPU3AS1VU7_Atomicll12memory_order12memory_scope(ptr addrspace(1), i64, i32, i32) local_unnamed_addr #0

define spir_func i64 @_Z25atomic_fetch_max_explicitPU3AS1VU7_Atomicll12memory_order12memory_scope(ptr addrspace(1) %a, i64 %b, i32 %c, i32 %d) local_unnamed_addr #0 {
  %call = tail call i64 @_Z29_cl_atomic_fetch_max_explicitPU3AS1VU7_Atomicll12memory_order12memory_scope(ptr addrspace(1) %a, i64 %b, i32 %c, i32 %d)
  ret i64 %call
}


declare i64 @_Z29_cl_atomic_fetch_max_explicitPU3AS3VU7_Atomicll12memory_order12memory_scope(ptr addrspace(3), i64, i32, i32) local_unnamed_addr #0

define spir_func i64 @_Z25atomic_fetch_max_explicitPU3AS3VU7_Atomicll12memory_order12memory_scope(ptr addrspace(3) %a, i64 %b, i32 %c, i32 %d) local_unnamed_addr #0 {
  %call = tail call i64 @_Z29_cl_atomic_fetch_max_explicitPU3AS3VU7_Atomicll12memory_order12memory_scope(ptr addrspace(3) %a, i64 %b, i32 %c, i32 %d)
  ret i64 %call
}


declare i64 @_Z20_cl_atomic_fetch_addPU3AS1VU7_Atomicmm(ptr addrspace(1), i64) local_unnamed_addr #0

define spir_func i64 @_Z16atomic_fetch_addPU3AS1VU7_Atomicmm(ptr addrspace(1) %a, i64 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z20_cl_atomic_fetch_addPU3AS1VU7_Atomicmm(ptr addrspace(1) %a, i64 %b)
  ret i64 %call
}


declare i64 @_Z20_cl_atomic_fetch_addPU3AS3VU7_Atomicmm(ptr addrspace(3), i64) local_unnamed_addr #0

define spir_func i64 @_Z16atomic_fetch_addPU3AS3VU7_Atomicmm(ptr addrspace(3) %a, i64 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z20_cl_atomic_fetch_addPU3AS3VU7_Atomicmm(ptr addrspace(3) %a, i64 %b)
  ret i64 %call
}


declare i64 @_Z29_cl_atomic_fetch_add_explicitPU3AS1VU7_Atomicmm12memory_order(ptr addrspace(1), i64, i32) local_unnamed_addr #0

define spir_func i64 @_Z25atomic_fetch_add_explicitPU3AS1VU7_Atomicmm12memory_order(ptr addrspace(1) %a, i64 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i64 @_Z29_cl_atomic_fetch_add_explicitPU3AS1VU7_Atomicmm12memory_order(ptr addrspace(1) %a, i64 %b, i32 %c)
  ret i64 %call
}


declare i64 @_Z29_cl_atomic_fetch_add_explicitPU3AS3VU7_Atomicmm12memory_order(ptr addrspace(3), i64, i32) local_unnamed_addr #0

define spir_func i64 @_Z25atomic_fetch_add_explicitPU3AS3VU7_Atomicmm12memory_order(ptr addrspace(3) %a, i64 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i64 @_Z29_cl_atomic_fetch_add_explicitPU3AS3VU7_Atomicmm12memory_order(ptr addrspace(3) %a, i64 %b, i32 %c)
  ret i64 %call
}


declare i64 @_Z29_cl_atomic_fetch_add_explicitPU3AS1VU7_Atomicmm12memory_order12memory_scope(ptr addrspace(1), i64, i32, i32) local_unnamed_addr #0

define spir_func i64 @_Z25atomic_fetch_add_explicitPU3AS1VU7_Atomicmm12memory_order12memory_scope(ptr addrspace(1) %a, i64 %b, i32 %c, i32 %d) local_unnamed_addr #0 {
  %call = tail call i64 @_Z29_cl_atomic_fetch_add_explicitPU3AS1VU7_Atomicmm12memory_order12memory_scope(ptr addrspace(1) %a, i64 %b, i32 %c, i32 %d)
  ret i64 %call
}


declare i64 @_Z29_cl_atomic_fetch_add_explicitPU3AS3VU7_Atomicmm12memory_order12memory_scope(ptr addrspace(3), i64, i32, i32) local_unnamed_addr #0

define spir_func i64 @_Z25atomic_fetch_add_explicitPU3AS3VU7_Atomicmm12memory_order12memory_scope(ptr addrspace(3) %a, i64 %b, i32 %c, i32 %d) local_unnamed_addr #0 {
  %call = tail call i64 @_Z29_cl_atomic_fetch_add_explicitPU3AS3VU7_Atomicmm12memory_order12memory_scope(ptr addrspace(3) %a, i64 %b, i32 %c, i32 %d)
  ret i64 %call
}


declare i64 @_Z20_cl_atomic_fetch_subPU3AS1VU7_Atomicmm(ptr addrspace(1), i64) local_unnamed_addr #0

define spir_func i64 @_Z16atomic_fetch_subPU3AS1VU7_Atomicmm(ptr addrspace(1) %a, i64 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z20_cl_atomic_fetch_subPU3AS1VU7_Atomicmm(ptr addrspace(1) %a, i64 %b)
  ret i64 %call
}


declare i64 @_Z20_cl_atomic_fetch_subPU3AS3VU7_Atomicmm(ptr addrspace(3), i64) local_unnamed_addr #0

define spir_func i64 @_Z16atomic_fetch_subPU3AS3VU7_Atomicmm(ptr addrspace(3) %a, i64 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z20_cl_atomic_fetch_subPU3AS3VU7_Atomicmm(ptr addrspace(3) %a, i64 %b)
  ret i64 %call
}


declare i64 @_Z29_cl_atomic_fetch_sub_explicitPU3AS1VU7_Atomicmm12memory_order(ptr addrspace(1), i64, i32) local_unnamed_addr #0

define spir_func i64 @_Z25atomic_fetch_sub_explicitPU3AS1VU7_Atomicmm12memory_order(ptr addrspace(1) %a, i64 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i64 @_Z29_cl_atomic_fetch_sub_explicitPU3AS1VU7_Atomicmm12memory_order(ptr addrspace(1) %a, i64 %b, i32 %c)
  ret i64 %call
}


declare i64 @_Z29_cl_atomic_fetch_sub_explicitPU3AS3VU7_Atomicmm12memory_order(ptr addrspace(3), i64, i32) local_unnamed_addr #0

define spir_func i64 @_Z25atomic_fetch_sub_explicitPU3AS3VU7_Atomicmm12memory_order(ptr addrspace(3) %a, i64 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i64 @_Z29_cl_atomic_fetch_sub_explicitPU3AS3VU7_Atomicmm12memory_order(ptr addrspace(3) %a, i64 %b, i32 %c)
  ret i64 %call
}


declare i64 @_Z29_cl_atomic_fetch_sub_explicitPU3AS1VU7_Atomicmm12memory_order12memory_scope(ptr addrspace(1), i64, i32, i32) local_unnamed_addr #0

define spir_func i64 @_Z25atomic_fetch_sub_explicitPU3AS1VU7_Atomicmm12memory_order12memory_scope(ptr addrspace(1) %a, i64 %b, i32 %c, i32 %d) local_unnamed_addr #0 {
  %call = tail call i64 @_Z29_cl_atomic_fetch_sub_explicitPU3AS1VU7_Atomicmm12memory_order12memory_scope(ptr addrspace(1) %a, i64 %b, i32 %c, i32 %d)
  ret i64 %call
}


declare i64 @_Z29_cl_atomic_fetch_sub_explicitPU3AS3VU7_Atomicmm12memory_order12memory_scope(ptr addrspace(3), i64, i32, i32) local_unnamed_addr #0

define spir_func i64 @_Z25atomic_fetch_sub_explicitPU3AS3VU7_Atomicmm12memory_order12memory_scope(ptr addrspace(3) %a, i64 %b, i32 %c, i32 %d) local_unnamed_addr #0 {
  %call = tail call i64 @_Z29_cl_atomic_fetch_sub_explicitPU3AS3VU7_Atomicmm12memory_order12memory_scope(ptr addrspace(3) %a, i64 %b, i32 %c, i32 %d)
  ret i64 %call
}


declare i64 @_Z19_cl_atomic_fetch_orPU3AS1VU7_Atomicmm(ptr addrspace(1), i64) local_unnamed_addr #0

define spir_func i64 @_Z15atomic_fetch_orPU3AS1VU7_Atomicmm(ptr addrspace(1) %a, i64 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z19_cl_atomic_fetch_orPU3AS1VU7_Atomicmm(ptr addrspace(1) %a, i64 %b)
  ret i64 %call
}


declare i64 @_Z19_cl_atomic_fetch_orPU3AS3VU7_Atomicmm(ptr addrspace(3), i64) local_unnamed_addr #0

define spir_func i64 @_Z15atomic_fetch_orPU3AS3VU7_Atomicmm(ptr addrspace(3) %a, i64 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z19_cl_atomic_fetch_orPU3AS3VU7_Atomicmm(ptr addrspace(3) %a, i64 %b)
  ret i64 %call
}


declare i64 @_Z28_cl_atomic_fetch_or_explicitPU3AS1VU7_Atomicmm12memory_order(ptr addrspace(1), i64, i32) local_unnamed_addr #0

define spir_func i64 @_Z24atomic_fetch_or_explicitPU3AS1VU7_Atomicmm12memory_order(ptr addrspace(1) %a, i64 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i64 @_Z28_cl_atomic_fetch_or_explicitPU3AS1VU7_Atomicmm12memory_order(ptr addrspace(1) %a, i64 %b, i32 %c)
  ret i64 %call
}


declare i64 @_Z28_cl_atomic_fetch_or_explicitPU3AS3VU7_Atomicmm12memory_order(ptr addrspace(3), i64, i32) local_unnamed_addr #0

define spir_func i64 @_Z24atomic_fetch_or_explicitPU3AS3VU7_Atomicmm12memory_order(ptr addrspace(3) %a, i64 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i64 @_Z28_cl_atomic_fetch_or_explicitPU3AS3VU7_Atomicmm12memory_order(ptr addrspace(3) %a, i64 %b, i32 %c)
  ret i64 %call
}


declare i64 @_Z28_cl_atomic_fetch_or_explicitPU3AS1VU7_Atomicmm12memory_order12memory_scope(ptr addrspace(1), i64, i32, i32) local_unnamed_addr #0

define spir_func i64 @_Z24atomic_fetch_or_explicitPU3AS1VU7_Atomicmm12memory_order12memory_scope(ptr addrspace(1) %a, i64 %b, i32 %c, i32 %d) local_unnamed_addr #0 {
  %call = tail call i64 @_Z28_cl_atomic_fetch_or_explicitPU3AS1VU7_Atomicmm12memory_order12memory_scope(ptr addrspace(1) %a, i64 %b, i32 %c, i32 %d)
  ret i64 %call
}


declare i64 @_Z28_cl_atomic_fetch_or_explicitPU3AS3VU7_Atomicmm12memory_order12memory_scope(ptr addrspace(3), i64, i32, i32) local_unnamed_addr #0

define spir_func i64 @_Z24atomic_fetch_or_explicitPU3AS3VU7_Atomicmm12memory_order12memory_scope(ptr addrspace(3) %a, i64 %b, i32 %c, i32 %d) local_unnamed_addr #0 {
  %call = tail call i64 @_Z28_cl_atomic_fetch_or_explicitPU3AS3VU7_Atomicmm12memory_order12memory_scope(ptr addrspace(3) %a, i64 %b, i32 %c, i32 %d)
  ret i64 %call
}


declare i64 @_Z20_cl_atomic_fetch_xorPU3AS1VU7_Atomicmm(ptr addrspace(1), i64) local_unnamed_addr #0

define spir_func i64 @_Z16atomic_fetch_xorPU3AS1VU7_Atomicmm(ptr addrspace(1) %a, i64 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z20_cl_atomic_fetch_xorPU3AS1VU7_Atomicmm(ptr addrspace(1) %a, i64 %b)
  ret i64 %call
}


declare i64 @_Z20_cl_atomic_fetch_xorPU3AS3VU7_Atomicmm(ptr addrspace(3), i64) local_unnamed_addr #0

define spir_func i64 @_Z16atomic_fetch_xorPU3AS3VU7_Atomicmm(ptr addrspace(3) %a, i64 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z20_cl_atomic_fetch_xorPU3AS3VU7_Atomicmm(ptr addrspace(3) %a, i64 %b)
  ret i64 %call
}


declare i64 @_Z29_cl_atomic_fetch_xor_explicitPU3AS1VU7_Atomicmm12memory_order(ptr addrspace(1), i64, i32) local_unnamed_addr #0

define spir_func i64 @_Z25atomic_fetch_xor_explicitPU3AS1VU7_Atomicmm12memory_order(ptr addrspace(1) %a, i64 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i64 @_Z29_cl_atomic_fetch_xor_explicitPU3AS1VU7_Atomicmm12memory_order(ptr addrspace(1) %a, i64 %b, i32 %c)
  ret i64 %call
}


declare i64 @_Z29_cl_atomic_fetch_xor_explicitPU3AS3VU7_Atomicmm12memory_order(ptr addrspace(3), i64, i32) local_unnamed_addr #0

define spir_func i64 @_Z25atomic_fetch_xor_explicitPU3AS3VU7_Atomicmm12memory_order(ptr addrspace(3) %a, i64 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i64 @_Z29_cl_atomic_fetch_xor_explicitPU3AS3VU7_Atomicmm12memory_order(ptr addrspace(3) %a, i64 %b, i32 %c)
  ret i64 %call
}


declare i64 @_Z29_cl_atomic_fetch_xor_explicitPU3AS1VU7_Atomicmm12memory_order12memory_scope(ptr addrspace(1), i64, i32, i32) local_unnamed_addr #0

define spir_func i64 @_Z25atomic_fetch_xor_explicitPU3AS1VU7_Atomicmm12memory_order12memory_scope(ptr addrspace(1) %a, i64 %b, i32 %c, i32 %d) local_unnamed_addr #0 {
  %call = tail call i64 @_Z29_cl_atomic_fetch_xor_explicitPU3AS1VU7_Atomicmm12memory_order12memory_scope(ptr addrspace(1) %a, i64 %b, i32 %c, i32 %d)
  ret i64 %call
}


declare i64 @_Z29_cl_atomic_fetch_xor_explicitPU3AS3VU7_Atomicmm12memory_order12memory_scope(ptr addrspace(3), i64, i32, i32) local_unnamed_addr #0

define spir_func i64 @_Z25atomic_fetch_xor_explicitPU3AS3VU7_Atomicmm12memory_order12memory_scope(ptr addrspace(3) %a, i64 %b, i32 %c, i32 %d) local_unnamed_addr #0 {
  %call = tail call i64 @_Z29_cl_atomic_fetch_xor_explicitPU3AS3VU7_Atomicmm12memory_order12memory_scope(ptr addrspace(3) %a, i64 %b, i32 %c, i32 %d)
  ret i64 %call
}


declare i64 @_Z20_cl_atomic_fetch_andPU3AS1VU7_Atomicmm(ptr addrspace(1), i64) local_unnamed_addr #0

define spir_func i64 @_Z16atomic_fetch_andPU3AS1VU7_Atomicmm(ptr addrspace(1) %a, i64 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z20_cl_atomic_fetch_andPU3AS1VU7_Atomicmm(ptr addrspace(1) %a, i64 %b)
  ret i64 %call
}


declare i64 @_Z20_cl_atomic_fetch_andPU3AS3VU7_Atomicmm(ptr addrspace(3), i64) local_unnamed_addr #0

define spir_func i64 @_Z16atomic_fetch_andPU3AS3VU7_Atomicmm(ptr addrspace(3) %a, i64 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z20_cl_atomic_fetch_andPU3AS3VU7_Atomicmm(ptr addrspace(3) %a, i64 %b)
  ret i64 %call
}


declare i64 @_Z29_cl_atomic_fetch_and_explicitPU3AS1VU7_Atomicmm12memory_order(ptr addrspace(1), i64, i32) local_unnamed_addr #0

define spir_func i64 @_Z25atomic_fetch_and_explicitPU3AS1VU7_Atomicmm12memory_order(ptr addrspace(1) %a, i64 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i64 @_Z29_cl_atomic_fetch_and_explicitPU3AS1VU7_Atomicmm12memory_order(ptr addrspace(1) %a, i64 %b, i32 %c)
  ret i64 %call
}


declare i64 @_Z29_cl_atomic_fetch_and_explicitPU3AS3VU7_Atomicmm12memory_order(ptr addrspace(3), i64, i32) local_unnamed_addr #0

define spir_func i64 @_Z25atomic_fetch_and_explicitPU3AS3VU7_Atomicmm12memory_order(ptr addrspace(3) %a, i64 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i64 @_Z29_cl_atomic_fetch_and_explicitPU3AS3VU7_Atomicmm12memory_order(ptr addrspace(3) %a, i64 %b, i32 %c)
  ret i64 %call
}


declare i64 @_Z29_cl_atomic_fetch_and_explicitPU3AS1VU7_Atomicmm12memory_order12memory_scope(ptr addrspace(1), i64, i32, i32) local_unnamed_addr #0

define spir_func i64 @_Z25atomic_fetch_and_explicitPU3AS1VU7_Atomicmm12memory_order12memory_scope(ptr addrspace(1) %a, i64 %b, i32 %c, i32 %d) local_unnamed_addr #0 {
  %call = tail call i64 @_Z29_cl_atomic_fetch_and_explicitPU3AS1VU7_Atomicmm12memory_order12memory_scope(ptr addrspace(1) %a, i64 %b, i32 %c, i32 %d)
  ret i64 %call
}


declare i64 @_Z29_cl_atomic_fetch_and_explicitPU3AS3VU7_Atomicmm12memory_order12memory_scope(ptr addrspace(3), i64, i32, i32) local_unnamed_addr #0

define spir_func i64 @_Z25atomic_fetch_and_explicitPU3AS3VU7_Atomicmm12memory_order12memory_scope(ptr addrspace(3) %a, i64 %b, i32 %c, i32 %d) local_unnamed_addr #0 {
  %call = tail call i64 @_Z29_cl_atomic_fetch_and_explicitPU3AS3VU7_Atomicmm12memory_order12memory_scope(ptr addrspace(3) %a, i64 %b, i32 %c, i32 %d)
  ret i64 %call
}


declare i64 @_Z20_cl_atomic_fetch_minPU3AS1VU7_Atomicmm(ptr addrspace(1), i64) local_unnamed_addr #0

define spir_func i64 @_Z16atomic_fetch_minPU3AS1VU7_Atomicmm(ptr addrspace(1) %a, i64 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z20_cl_atomic_fetch_minPU3AS1VU7_Atomicmm(ptr addrspace(1) %a, i64 %b)
  ret i64 %call
}


declare i64 @_Z20_cl_atomic_fetch_minPU3AS3VU7_Atomicmm(ptr addrspace(3), i64) local_unnamed_addr #0

define spir_func i64 @_Z16atomic_fetch_minPU3AS3VU7_Atomicmm(ptr addrspace(3) %a, i64 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z20_cl_atomic_fetch_minPU3AS3VU7_Atomicmm(ptr addrspace(3) %a, i64 %b)
  ret i64 %call
}


declare i64 @_Z29_cl_atomic_fetch_min_explicitPU3AS1VU7_Atomicmm12memory_order(ptr addrspace(1), i64, i32) local_unnamed_addr #0

define spir_func i64 @_Z25atomic_fetch_min_explicitPU3AS1VU7_Atomicmm12memory_order(ptr addrspace(1) %a, i64 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i64 @_Z29_cl_atomic_fetch_min_explicitPU3AS1VU7_Atomicmm12memory_order(ptr addrspace(1) %a, i64 %b, i32 %c)
  ret i64 %call
}


declare i64 @_Z29_cl_atomic_fetch_min_explicitPU3AS3VU7_Atomicmm12memory_order(ptr addrspace(3), i64, i32) local_unnamed_addr #0

define spir_func i64 @_Z25atomic_fetch_min_explicitPU3AS3VU7_Atomicmm12memory_order(ptr addrspace(3) %a, i64 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i64 @_Z29_cl_atomic_fetch_min_explicitPU3AS3VU7_Atomicmm12memory_order(ptr addrspace(3) %a, i64 %b, i32 %c)
  ret i64 %call
}


declare i64 @_Z29_cl_atomic_fetch_min_explicitPU3AS1VU7_Atomicmm12memory_order12memory_scope(ptr addrspace(1), i64, i32, i32) local_unnamed_addr #0

define spir_func i64 @_Z25atomic_fetch_min_explicitPU3AS1VU7_Atomicmm12memory_order12memory_scope(ptr addrspace(1) %a, i64 %b, i32 %c, i32 %d) local_unnamed_addr #0 {
  %call = tail call i64 @_Z29_cl_atomic_fetch_min_explicitPU3AS1VU7_Atomicmm12memory_order12memory_scope(ptr addrspace(1) %a, i64 %b, i32 %c, i32 %d)
  ret i64 %call
}


declare i64 @_Z29_cl_atomic_fetch_min_explicitPU3AS3VU7_Atomicmm12memory_order12memory_scope(ptr addrspace(3), i64, i32, i32) local_unnamed_addr #0

define spir_func i64 @_Z25atomic_fetch_min_explicitPU3AS3VU7_Atomicmm12memory_order12memory_scope(ptr addrspace(3) %a, i64 %b, i32 %c, i32 %d) local_unnamed_addr #0 {
  %call = tail call i64 @_Z29_cl_atomic_fetch_min_explicitPU3AS3VU7_Atomicmm12memory_order12memory_scope(ptr addrspace(3) %a, i64 %b, i32 %c, i32 %d)
  ret i64 %call
}


declare i64 @_Z20_cl_atomic_fetch_maxPU3AS1VU7_Atomicmm(ptr addrspace(1), i64) local_unnamed_addr #0

define spir_func i64 @_Z16atomic_fetch_maxPU3AS1VU7_Atomicmm(ptr addrspace(1) %a, i64 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z20_cl_atomic_fetch_maxPU3AS1VU7_Atomicmm(ptr addrspace(1) %a, i64 %b)
  ret i64 %call
}


declare i64 @_Z20_cl_atomic_fetch_maxPU3AS3VU7_Atomicmm(ptr addrspace(3), i64) local_unnamed_addr #0

define spir_func i64 @_Z16atomic_fetch_maxPU3AS3VU7_Atomicmm(ptr addrspace(3) %a, i64 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z20_cl_atomic_fetch_maxPU3AS3VU7_Atomicmm(ptr addrspace(3) %a, i64 %b)
  ret i64 %call
}


declare i64 @_Z29_cl_atomic_fetch_max_explicitPU3AS1VU7_Atomicmm12memory_order(ptr addrspace(1), i64, i32) local_unnamed_addr #0

define spir_func i64 @_Z25atomic_fetch_max_explicitPU3AS1VU7_Atomicmm12memory_order(ptr addrspace(1) %a, i64 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i64 @_Z29_cl_atomic_fetch_max_explicitPU3AS1VU7_Atomicmm12memory_order(ptr addrspace(1) %a, i64 %b, i32 %c)
  ret i64 %call
}


declare i64 @_Z29_cl_atomic_fetch_max_explicitPU3AS3VU7_Atomicmm12memory_order(ptr addrspace(3), i64, i32) local_unnamed_addr #0

define spir_func i64 @_Z25atomic_fetch_max_explicitPU3AS3VU7_Atomicmm12memory_order(ptr addrspace(3) %a, i64 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i64 @_Z29_cl_atomic_fetch_max_explicitPU3AS3VU7_Atomicmm12memory_order(ptr addrspace(3) %a, i64 %b, i32 %c)
  ret i64 %call
}


declare i64 @_Z29_cl_atomic_fetch_max_explicitPU3AS1VU7_Atomicmm12memory_order12memory_scope(ptr addrspace(1), i64, i32, i32) local_unnamed_addr #0

define spir_func i64 @_Z25atomic_fetch_max_explicitPU3AS1VU7_Atomicmm12memory_order12memory_scope(ptr addrspace(1) %a, i64 %b, i32 %c, i32 %d) local_unnamed_addr #0 {
  %call = tail call i64 @_Z29_cl_atomic_fetch_max_explicitPU3AS1VU7_Atomicmm12memory_order12memory_scope(ptr addrspace(1) %a, i64 %b, i32 %c, i32 %d)
  ret i64 %call
}


declare i64 @_Z29_cl_atomic_fetch_max_explicitPU3AS3VU7_Atomicmm12memory_order12memory_scope(ptr addrspace(3), i64, i32, i32) local_unnamed_addr #0

define spir_func i64 @_Z25atomic_fetch_max_explicitPU3AS3VU7_Atomicmm12memory_order12memory_scope(ptr addrspace(3) %a, i64 %b, i32 %c, i32 %d) local_unnamed_addr #0 {
  %call = tail call i64 @_Z29_cl_atomic_fetch_max_explicitPU3AS3VU7_Atomicmm12memory_order12memory_scope(ptr addrspace(3) %a, i64 %b, i32 %c, i32 %d)
  ret i64 %call
}


declare i32 @_Z14_cl_atomic_addPU3AS1Vii(ptr addrspace(1), i32) local_unnamed_addr #0

define spir_func i32 @_Z10atomic_addPU3AS1Vii(ptr addrspace(1) %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z14_cl_atomic_addPU3AS1Vii(ptr addrspace(1) %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z14_cl_atomic_addPU3AS3Vii(ptr addrspace(3), i32) local_unnamed_addr #0

define spir_func i32 @_Z10atomic_addPU3AS3Vii(ptr addrspace(3) %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z14_cl_atomic_addPU3AS3Vii(ptr addrspace(3) %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z14_cl_atomic_subPU3AS1Vii(ptr addrspace(1), i32) local_unnamed_addr #0

define spir_func i32 @_Z10atomic_subPU3AS1Vii(ptr addrspace(1) %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z14_cl_atomic_subPU3AS1Vii(ptr addrspace(1) %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z14_cl_atomic_subPU3AS3Vii(ptr addrspace(3), i32) local_unnamed_addr #0

define spir_func i32 @_Z10atomic_subPU3AS3Vii(ptr addrspace(3) %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z14_cl_atomic_subPU3AS3Vii(ptr addrspace(3) %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z13_cl_atomic_orPU3AS1Vii(ptr addrspace(1), i32) local_unnamed_addr #0

define spir_func i32 @_Z9atomic_orPU3AS1Vii(ptr addrspace(1) %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z13_cl_atomic_orPU3AS1Vii(ptr addrspace(1) %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z13_cl_atomic_orPU3AS3Vii(ptr addrspace(3), i32) local_unnamed_addr #0

define spir_func i32 @_Z9atomic_orPU3AS3Vii(ptr addrspace(3) %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z13_cl_atomic_orPU3AS3Vii(ptr addrspace(3) %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z14_cl_atomic_xorPU3AS1Vii(ptr addrspace(1), i32) local_unnamed_addr #0

define spir_func i32 @_Z10atomic_xorPU3AS1Vii(ptr addrspace(1) %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z14_cl_atomic_xorPU3AS1Vii(ptr addrspace(1) %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z14_cl_atomic_xorPU3AS3Vii(ptr addrspace(3), i32) local_unnamed_addr #0

define spir_func i32 @_Z10atomic_xorPU3AS3Vii(ptr addrspace(3) %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z14_cl_atomic_xorPU3AS3Vii(ptr addrspace(3) %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z14_cl_atomic_andPU3AS1Vii(ptr addrspace(1), i32) local_unnamed_addr #0

define spir_func i32 @_Z10atomic_andPU3AS1Vii(ptr addrspace(1) %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z14_cl_atomic_andPU3AS1Vii(ptr addrspace(1) %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z14_cl_atomic_andPU3AS3Vii(ptr addrspace(3), i32) local_unnamed_addr #0

define spir_func i32 @_Z10atomic_andPU3AS3Vii(ptr addrspace(3) %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z14_cl_atomic_andPU3AS3Vii(ptr addrspace(3) %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z14_cl_atomic_minPU3AS1Vii(ptr addrspace(1), i32) local_unnamed_addr #0

define spir_func i32 @_Z10atomic_minPU3AS1Vii(ptr addrspace(1) %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z14_cl_atomic_minPU3AS1Vii(ptr addrspace(1) %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z14_cl_atomic_minPU3AS3Vii(ptr addrspace(3), i32) local_unnamed_addr #0

define spir_func i32 @_Z10atomic_minPU3AS3Vii(ptr addrspace(3) %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z14_cl_atomic_minPU3AS3Vii(ptr addrspace(3) %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z14_cl_atomic_maxPU3AS1Vii(ptr addrspace(1), i32) local_unnamed_addr #0

define spir_func i32 @_Z10atomic_maxPU3AS1Vii(ptr addrspace(1) %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z14_cl_atomic_maxPU3AS1Vii(ptr addrspace(1) %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z14_cl_atomic_maxPU3AS3Vii(ptr addrspace(3), i32) local_unnamed_addr #0

define spir_func i32 @_Z10atomic_maxPU3AS3Vii(ptr addrspace(3) %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z14_cl_atomic_maxPU3AS3Vii(ptr addrspace(3) %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z14_cl_atomic_incPU3AS1Vi(ptr addrspace(1)) local_unnamed_addr #0

define spir_func i32 @_Z10atomic_incPU3AS1Vi(ptr addrspace(1) %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z14_cl_atomic_incPU3AS1Vi(ptr addrspace(1) %a)
  ret i32 %call
}


declare i32 @_Z14_cl_atomic_incPU3AS3Vi(ptr addrspace(3)) local_unnamed_addr #0

define spir_func i32 @_Z10atomic_incPU3AS3Vi(ptr addrspace(3) %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z14_cl_atomic_incPU3AS3Vi(ptr addrspace(3) %a)
  ret i32 %call
}


declare i32 @_Z14_cl_atomic_decPU3AS1Vi(ptr addrspace(1)) local_unnamed_addr #0

define spir_func i32 @_Z10atomic_decPU3AS1Vi(ptr addrspace(1) %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z14_cl_atomic_decPU3AS1Vi(ptr addrspace(1) %a)
  ret i32 %call
}


declare i32 @_Z14_cl_atomic_decPU3AS3Vi(ptr addrspace(3)) local_unnamed_addr #0

define spir_func i32 @_Z10atomic_decPU3AS3Vi(ptr addrspace(3) %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z14_cl_atomic_decPU3AS3Vi(ptr addrspace(3) %a)
  ret i32 %call
}


declare i32 @_Z14_cl_atomic_addPU3AS1Vjj(ptr addrspace(1), i32) local_unnamed_addr #0

define spir_func i32 @_Z10atomic_addPU3AS1Vjj(ptr addrspace(1) %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z14_cl_atomic_addPU3AS1Vjj(ptr addrspace(1) %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z14_cl_atomic_addPU3AS3Vjj(ptr addrspace(3), i32) local_unnamed_addr #0

define spir_func i32 @_Z10atomic_addPU3AS3Vjj(ptr addrspace(3) %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z14_cl_atomic_addPU3AS3Vjj(ptr addrspace(3) %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z14_cl_atomic_subPU3AS1Vjj(ptr addrspace(1), i32) local_unnamed_addr #0

define spir_func i32 @_Z10atomic_subPU3AS1Vjj(ptr addrspace(1) %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z14_cl_atomic_subPU3AS1Vjj(ptr addrspace(1) %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z14_cl_atomic_subPU3AS3Vjj(ptr addrspace(3), i32) local_unnamed_addr #0

define spir_func i32 @_Z10atomic_subPU3AS3Vjj(ptr addrspace(3) %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z14_cl_atomic_subPU3AS3Vjj(ptr addrspace(3) %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z13_cl_atomic_orPU3AS1Vjj(ptr addrspace(1), i32) local_unnamed_addr #0

define spir_func i32 @_Z9atomic_orPU3AS1Vjj(ptr addrspace(1) %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z13_cl_atomic_orPU3AS1Vjj(ptr addrspace(1) %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z13_cl_atomic_orPU3AS3Vjj(ptr addrspace(3), i32) local_unnamed_addr #0

define spir_func i32 @_Z9atomic_orPU3AS3Vjj(ptr addrspace(3) %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z13_cl_atomic_orPU3AS3Vjj(ptr addrspace(3) %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z14_cl_atomic_xorPU3AS1Vjj(ptr addrspace(1), i32) local_unnamed_addr #0

define spir_func i32 @_Z10atomic_xorPU3AS1Vjj(ptr addrspace(1) %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z14_cl_atomic_xorPU3AS1Vjj(ptr addrspace(1) %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z14_cl_atomic_xorPU3AS3Vjj(ptr addrspace(3), i32) local_unnamed_addr #0

define spir_func i32 @_Z10atomic_xorPU3AS3Vjj(ptr addrspace(3) %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z14_cl_atomic_xorPU3AS3Vjj(ptr addrspace(3) %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z14_cl_atomic_andPU3AS1Vjj(ptr addrspace(1), i32) local_unnamed_addr #0

define spir_func i32 @_Z10atomic_andPU3AS1Vjj(ptr addrspace(1) %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z14_cl_atomic_andPU3AS1Vjj(ptr addrspace(1) %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z14_cl_atomic_andPU3AS3Vjj(ptr addrspace(3), i32) local_unnamed_addr #0

define spir_func i32 @_Z10atomic_andPU3AS3Vjj(ptr addrspace(3) %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z14_cl_atomic_andPU3AS3Vjj(ptr addrspace(3) %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z14_cl_atomic_minPU3AS1Vjj(ptr addrspace(1), i32) local_unnamed_addr #0

define spir_func i32 @_Z10atomic_minPU3AS1Vjj(ptr addrspace(1) %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z14_cl_atomic_minPU3AS1Vjj(ptr addrspace(1) %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z14_cl_atomic_minPU3AS3Vjj(ptr addrspace(3), i32) local_unnamed_addr #0

define spir_func i32 @_Z10atomic_minPU3AS3Vjj(ptr addrspace(3) %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z14_cl_atomic_minPU3AS3Vjj(ptr addrspace(3) %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z14_cl_atomic_maxPU3AS1Vjj(ptr addrspace(1), i32) local_unnamed_addr #0

define spir_func i32 @_Z10atomic_maxPU3AS1Vjj(ptr addrspace(1) %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z14_cl_atomic_maxPU3AS1Vjj(ptr addrspace(1) %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z14_cl_atomic_maxPU3AS3Vjj(ptr addrspace(3), i32) local_unnamed_addr #0

define spir_func i32 @_Z10atomic_maxPU3AS3Vjj(ptr addrspace(3) %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z14_cl_atomic_maxPU3AS3Vjj(ptr addrspace(3) %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z14_cl_atomic_incPU3AS1Vj(ptr addrspace(1)) local_unnamed_addr #0

define spir_func i32 @_Z10atomic_incPU3AS1Vj(ptr addrspace(1) %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z14_cl_atomic_incPU3AS1Vj(ptr addrspace(1) %a)
  ret i32 %call
}


declare i32 @_Z14_cl_atomic_incPU3AS3Vj(ptr addrspace(3)) local_unnamed_addr #0

define spir_func i32 @_Z10atomic_incPU3AS3Vj(ptr addrspace(3) %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z14_cl_atomic_incPU3AS3Vj(ptr addrspace(3) %a)
  ret i32 %call
}


declare i32 @_Z14_cl_atomic_decPU3AS1Vj(ptr addrspace(1)) local_unnamed_addr #0

define spir_func i32 @_Z10atomic_decPU3AS1Vj(ptr addrspace(1) %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z14_cl_atomic_decPU3AS1Vj(ptr addrspace(1) %a)
  ret i32 %call
}


declare i32 @_Z14_cl_atomic_decPU3AS3Vj(ptr addrspace(3)) local_unnamed_addr #0

define spir_func i32 @_Z10atomic_decPU3AS3Vj(ptr addrspace(3) %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z14_cl_atomic_decPU3AS3Vj(ptr addrspace(3) %a)
  ret i32 %call
}


declare i64 @_Z14_cl_atomic_addPU3AS1Vll(ptr addrspace(1), i64) local_unnamed_addr #0

define spir_func i64 @_Z10atomic_addPU3AS1Vll(ptr addrspace(1) %a, i64 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z14_cl_atomic_addPU3AS1Vll(ptr addrspace(1) %a, i64 %b)
  ret i64 %call
}


declare i64 @_Z14_cl_atomic_addPU3AS3Vll(ptr addrspace(3), i64) local_unnamed_addr #0

define spir_func i64 @_Z10atomic_addPU3AS3Vll(ptr addrspace(3) %a, i64 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z14_cl_atomic_addPU3AS3Vll(ptr addrspace(3) %a, i64 %b)
  ret i64 %call
}


declare i64 @_Z14_cl_atomic_subPU3AS1Vll(ptr addrspace(1), i64) local_unnamed_addr #0

define spir_func i64 @_Z10atomic_subPU3AS1Vll(ptr addrspace(1) %a, i64 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z14_cl_atomic_subPU3AS1Vll(ptr addrspace(1) %a, i64 %b)
  ret i64 %call
}


declare i64 @_Z14_cl_atomic_subPU3AS3Vll(ptr addrspace(3), i64) local_unnamed_addr #0

define spir_func i64 @_Z10atomic_subPU3AS3Vll(ptr addrspace(3) %a, i64 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z14_cl_atomic_subPU3AS3Vll(ptr addrspace(3) %a, i64 %b)
  ret i64 %call
}


declare i64 @_Z13_cl_atomic_orPU3AS1Vll(ptr addrspace(1), i64) local_unnamed_addr #0

define spir_func i64 @_Z9atomic_orPU3AS1Vll(ptr addrspace(1) %a, i64 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z13_cl_atomic_orPU3AS1Vll(ptr addrspace(1) %a, i64 %b)
  ret i64 %call
}


declare i64 @_Z13_cl_atomic_orPU3AS3Vll(ptr addrspace(3), i64) local_unnamed_addr #0

define spir_func i64 @_Z9atomic_orPU3AS3Vll(ptr addrspace(3) %a, i64 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z13_cl_atomic_orPU3AS3Vll(ptr addrspace(3) %a, i64 %b)
  ret i64 %call
}


declare i64 @_Z14_cl_atomic_xorPU3AS1Vll(ptr addrspace(1), i64) local_unnamed_addr #0

define spir_func i64 @_Z10atomic_xorPU3AS1Vll(ptr addrspace(1) %a, i64 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z14_cl_atomic_xorPU3AS1Vll(ptr addrspace(1) %a, i64 %b)
  ret i64 %call
}


declare i64 @_Z14_cl_atomic_xorPU3AS3Vll(ptr addrspace(3), i64) local_unnamed_addr #0

define spir_func i64 @_Z10atomic_xorPU3AS3Vll(ptr addrspace(3) %a, i64 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z14_cl_atomic_xorPU3AS3Vll(ptr addrspace(3) %a, i64 %b)
  ret i64 %call
}


declare i64 @_Z14_cl_atomic_andPU3AS1Vll(ptr addrspace(1), i64) local_unnamed_addr #0

define spir_func i64 @_Z10atomic_andPU3AS1Vll(ptr addrspace(1) %a, i64 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z14_cl_atomic_andPU3AS1Vll(ptr addrspace(1) %a, i64 %b)
  ret i64 %call
}


declare i64 @_Z14_cl_atomic_andPU3AS3Vll(ptr addrspace(3), i64) local_unnamed_addr #0

define spir_func i64 @_Z10atomic_andPU3AS3Vll(ptr addrspace(3) %a, i64 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z14_cl_atomic_andPU3AS3Vll(ptr addrspace(3) %a, i64 %b)
  ret i64 %call
}


declare i64 @_Z14_cl_atomic_minPU3AS1Vll(ptr addrspace(1), i64) local_unnamed_addr #0

define spir_func i64 @_Z10atomic_minPU3AS1Vll(ptr addrspace(1) %a, i64 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z14_cl_atomic_minPU3AS1Vll(ptr addrspace(1) %a, i64 %b)
  ret i64 %call
}


declare i64 @_Z14_cl_atomic_minPU3AS3Vll(ptr addrspace(3), i64) local_unnamed_addr #0

define spir_func i64 @_Z10atomic_minPU3AS3Vll(ptr addrspace(3) %a, i64 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z14_cl_atomic_minPU3AS3Vll(ptr addrspace(3) %a, i64 %b)
  ret i64 %call
}


declare i64 @_Z14_cl_atomic_maxPU3AS1Vll(ptr addrspace(1), i64) local_unnamed_addr #0

define spir_func i64 @_Z10atomic_maxPU3AS1Vll(ptr addrspace(1) %a, i64 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z14_cl_atomic_maxPU3AS1Vll(ptr addrspace(1) %a, i64 %b)
  ret i64 %call
}


declare i64 @_Z14_cl_atomic_maxPU3AS3Vll(ptr addrspace(3), i64) local_unnamed_addr #0

define spir_func i64 @_Z10atomic_maxPU3AS3Vll(ptr addrspace(3) %a, i64 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z14_cl_atomic_maxPU3AS3Vll(ptr addrspace(3) %a, i64 %b)
  ret i64 %call
}


declare i64 @_Z14_cl_atomic_incPU3AS1Vl(ptr addrspace(1)) local_unnamed_addr #0

define spir_func i64 @_Z10atomic_incPU3AS1Vl(ptr addrspace(1) %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z14_cl_atomic_incPU3AS1Vl(ptr addrspace(1) %a)
  ret i64 %call
}


declare i64 @_Z14_cl_atomic_incPU3AS3Vl(ptr addrspace(3)) local_unnamed_addr #0

define spir_func i64 @_Z10atomic_incPU3AS3Vl(ptr addrspace(3) %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z14_cl_atomic_incPU3AS3Vl(ptr addrspace(3) %a)
  ret i64 %call
}


declare i64 @_Z14_cl_atomic_decPU3AS1Vl(ptr addrspace(1)) local_unnamed_addr #0

define spir_func i64 @_Z10atomic_decPU3AS1Vl(ptr addrspace(1) %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z14_cl_atomic_decPU3AS1Vl(ptr addrspace(1) %a)
  ret i64 %call
}


declare i64 @_Z14_cl_atomic_decPU3AS3Vl(ptr addrspace(3)) local_unnamed_addr #0

define spir_func i64 @_Z10atomic_decPU3AS3Vl(ptr addrspace(3) %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z14_cl_atomic_decPU3AS3Vl(ptr addrspace(3) %a)
  ret i64 %call
}


declare i64 @_Z14_cl_atomic_addPU3AS1Vmm(ptr addrspace(1), i64) local_unnamed_addr #0

define spir_func i64 @_Z10atomic_addPU3AS1Vmm(ptr addrspace(1) %a, i64 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z14_cl_atomic_addPU3AS1Vmm(ptr addrspace(1) %a, i64 %b)
  ret i64 %call
}


declare i64 @_Z14_cl_atomic_addPU3AS3Vmm(ptr addrspace(3), i64) local_unnamed_addr #0

define spir_func i64 @_Z10atomic_addPU3AS3Vmm(ptr addrspace(3) %a, i64 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z14_cl_atomic_addPU3AS3Vmm(ptr addrspace(3) %a, i64 %b)
  ret i64 %call
}


declare i64 @_Z14_cl_atomic_subPU3AS1Vmm(ptr addrspace(1), i64) local_unnamed_addr #0

define spir_func i64 @_Z10atomic_subPU3AS1Vmm(ptr addrspace(1) %a, i64 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z14_cl_atomic_subPU3AS1Vmm(ptr addrspace(1) %a, i64 %b)
  ret i64 %call
}


declare i64 @_Z14_cl_atomic_subPU3AS3Vmm(ptr addrspace(3), i64) local_unnamed_addr #0

define spir_func i64 @_Z10atomic_subPU3AS3Vmm(ptr addrspace(3) %a, i64 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z14_cl_atomic_subPU3AS3Vmm(ptr addrspace(3) %a, i64 %b)
  ret i64 %call
}


declare i64 @_Z13_cl_atomic_orPU3AS1Vmm(ptr addrspace(1), i64) local_unnamed_addr #0

define spir_func i64 @_Z9atomic_orPU3AS1Vmm(ptr addrspace(1) %a, i64 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z13_cl_atomic_orPU3AS1Vmm(ptr addrspace(1) %a, i64 %b)
  ret i64 %call
}


declare i64 @_Z13_cl_atomic_orPU3AS3Vmm(ptr addrspace(3), i64) local_unnamed_addr #0

define spir_func i64 @_Z9atomic_orPU3AS3Vmm(ptr addrspace(3) %a, i64 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z13_cl_atomic_orPU3AS3Vmm(ptr addrspace(3) %a, i64 %b)
  ret i64 %call
}


declare i64 @_Z14_cl_atomic_xorPU3AS1Vmm(ptr addrspace(1), i64) local_unnamed_addr #0

define spir_func i64 @_Z10atomic_xorPU3AS1Vmm(ptr addrspace(1) %a, i64 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z14_cl_atomic_xorPU3AS1Vmm(ptr addrspace(1) %a, i64 %b)
  ret i64 %call
}


declare i64 @_Z14_cl_atomic_xorPU3AS3Vmm(ptr addrspace(3), i64) local_unnamed_addr #0

define spir_func i64 @_Z10atomic_xorPU3AS3Vmm(ptr addrspace(3) %a, i64 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z14_cl_atomic_xorPU3AS3Vmm(ptr addrspace(3) %a, i64 %b)
  ret i64 %call
}


declare i64 @_Z14_cl_atomic_andPU3AS1Vmm(ptr addrspace(1), i64) local_unnamed_addr #0

define spir_func i64 @_Z10atomic_andPU3AS1Vmm(ptr addrspace(1) %a, i64 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z14_cl_atomic_andPU3AS1Vmm(ptr addrspace(1) %a, i64 %b)
  ret i64 %call
}


declare i64 @_Z14_cl_atomic_andPU3AS3Vmm(ptr addrspace(3), i64) local_unnamed_addr #0

define spir_func i64 @_Z10atomic_andPU3AS3Vmm(ptr addrspace(3) %a, i64 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z14_cl_atomic_andPU3AS3Vmm(ptr addrspace(3) %a, i64 %b)
  ret i64 %call
}


declare i64 @_Z14_cl_atomic_minPU3AS1Vmm(ptr addrspace(1), i64) local_unnamed_addr #0

define spir_func i64 @_Z10atomic_minPU3AS1Vmm(ptr addrspace(1) %a, i64 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z14_cl_atomic_minPU3AS1Vmm(ptr addrspace(1) %a, i64 %b)
  ret i64 %call
}


declare i64 @_Z14_cl_atomic_minPU3AS3Vmm(ptr addrspace(3), i64) local_unnamed_addr #0

define spir_func i64 @_Z10atomic_minPU3AS3Vmm(ptr addrspace(3) %a, i64 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z14_cl_atomic_minPU3AS3Vmm(ptr addrspace(3) %a, i64 %b)
  ret i64 %call
}


declare i64 @_Z14_cl_atomic_maxPU3AS1Vmm(ptr addrspace(1), i64) local_unnamed_addr #0

define spir_func i64 @_Z10atomic_maxPU3AS1Vmm(ptr addrspace(1) %a, i64 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z14_cl_atomic_maxPU3AS1Vmm(ptr addrspace(1) %a, i64 %b)
  ret i64 %call
}


declare i64 @_Z14_cl_atomic_maxPU3AS3Vmm(ptr addrspace(3), i64) local_unnamed_addr #0

define spir_func i64 @_Z10atomic_maxPU3AS3Vmm(ptr addrspace(3) %a, i64 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z14_cl_atomic_maxPU3AS3Vmm(ptr addrspace(3) %a, i64 %b)
  ret i64 %call
}


declare i64 @_Z14_cl_atomic_incPU3AS1Vm(ptr addrspace(1)) local_unnamed_addr #0

define spir_func i64 @_Z10atomic_incPU3AS1Vm(ptr addrspace(1) %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z14_cl_atomic_incPU3AS1Vm(ptr addrspace(1) %a)
  ret i64 %call
}


declare i64 @_Z14_cl_atomic_incPU3AS3Vm(ptr addrspace(3)) local_unnamed_addr #0

define spir_func i64 @_Z10atomic_incPU3AS3Vm(ptr addrspace(3) %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z14_cl_atomic_incPU3AS3Vm(ptr addrspace(3) %a)
  ret i64 %call
}


declare i64 @_Z14_cl_atomic_decPU3AS1Vm(ptr addrspace(1)) local_unnamed_addr #0

define spir_func i64 @_Z10atomic_decPU3AS1Vm(ptr addrspace(1) %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z14_cl_atomic_decPU3AS1Vm(ptr addrspace(1) %a)
  ret i64 %call
}


declare i64 @_Z14_cl_atomic_decPU3AS3Vm(ptr addrspace(3)) local_unnamed_addr #0

define spir_func i64 @_Z10atomic_decPU3AS3Vm(ptr addrspace(3) %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z14_cl_atomic_decPU3AS3Vm(ptr addrspace(3) %a)
  ret i64 %call
}


declare i32 @_Z15_cl_atomic_xchgPU3AS1Vii(ptr addrspace(1), i32) local_unnamed_addr #0

define spir_func i32 @_Z11atomic_xchgPU3AS1Vii(ptr addrspace(1) %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z15_cl_atomic_xchgPU3AS1Vii(ptr addrspace(1) %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z15_cl_atomic_xchgPU3AS3Vii(ptr addrspace(3), i32) local_unnamed_addr #0

define spir_func i32 @_Z11atomic_xchgPU3AS3Vii(ptr addrspace(3) %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z15_cl_atomic_xchgPU3AS3Vii(ptr addrspace(3) %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z18_cl_atomic_cmpxchgPU3AS1Viii(ptr addrspace(1), i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z14atomic_cmpxchgPU3AS1Viii(ptr addrspace(1) %a, i32 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i32 @_Z18_cl_atomic_cmpxchgPU3AS1Viii(ptr addrspace(1) %a, i32 %b, i32 %c)
  ret i32 %call
}


declare i32 @_Z18_cl_atomic_cmpxchgPU3AS3Viii(ptr addrspace(3), i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z14atomic_cmpxchgPU3AS3Viii(ptr addrspace(3) %a, i32 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i32 @_Z18_cl_atomic_cmpxchgPU3AS3Viii(ptr addrspace(3) %a, i32 %b, i32 %c)
  ret i32 %call
}


declare i32 @_Z15_cl_atomic_xchgPU3AS1Vjj(ptr addrspace(1), i32) local_unnamed_addr #0

define spir_func i32 @_Z11atomic_xchgPU3AS1Vjj(ptr addrspace(1) %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z15_cl_atomic_xchgPU3AS1Vjj(ptr addrspace(1) %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z15_cl_atomic_xchgPU3AS3Vjj(ptr addrspace(3), i32) local_unnamed_addr #0

define spir_func i32 @_Z11atomic_xchgPU3AS3Vjj(ptr addrspace(3) %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z15_cl_atomic_xchgPU3AS3Vjj(ptr addrspace(3) %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z18_cl_atomic_cmpxchgPU3AS1Vjjj(ptr addrspace(1), i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z14atomic_cmpxchgPU3AS1Vjjj(ptr addrspace(1) %a, i32 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i32 @_Z18_cl_atomic_cmpxchgPU3AS1Vjjj(ptr addrspace(1) %a, i32 %b, i32 %c)
  ret i32 %call
}


declare i32 @_Z18_cl_atomic_cmpxchgPU3AS3Vjjj(ptr addrspace(3), i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z14atomic_cmpxchgPU3AS3Vjjj(ptr addrspace(3) %a, i32 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i32 @_Z18_cl_atomic_cmpxchgPU3AS3Vjjj(ptr addrspace(3) %a, i32 %b, i32 %c)
  ret i32 %call
}


declare i64 @_Z15_cl_atomic_xchgPU3AS1Vll(ptr addrspace(1), i64) local_unnamed_addr #0

define spir_func i64 @_Z11atomic_xchgPU3AS1Vll(ptr addrspace(1) %a, i64 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z15_cl_atomic_xchgPU3AS1Vll(ptr addrspace(1) %a, i64 %b)
  ret i64 %call
}


declare i64 @_Z15_cl_atomic_xchgPU3AS3Vll(ptr addrspace(3), i64) local_unnamed_addr #0

define spir_func i64 @_Z11atomic_xchgPU3AS3Vll(ptr addrspace(3) %a, i64 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z15_cl_atomic_xchgPU3AS3Vll(ptr addrspace(3) %a, i64 %b)
  ret i64 %call
}


declare i64 @_Z18_cl_atomic_cmpxchgPU3AS1Vlll(ptr addrspace(1), i64, i64) local_unnamed_addr #0

define spir_func i64 @_Z14atomic_cmpxchgPU3AS1Vlll(ptr addrspace(1) %a, i64 %b, i64 %c) local_unnamed_addr #0 {
  %call = tail call i64 @_Z18_cl_atomic_cmpxchgPU3AS1Vlll(ptr addrspace(1) %a, i64 %b, i64 %c)
  ret i64 %call
}


declare i64 @_Z18_cl_atomic_cmpxchgPU3AS3Vlll(ptr addrspace(3), i64, i64) local_unnamed_addr #0

define spir_func i64 @_Z14atomic_cmpxchgPU3AS3Vlll(ptr addrspace(3) %a, i64 %b, i64 %c) local_unnamed_addr #0 {
  %call = tail call i64 @_Z18_cl_atomic_cmpxchgPU3AS3Vlll(ptr addrspace(3) %a, i64 %b, i64 %c)
  ret i64 %call
}


declare i64 @_Z15_cl_atomic_xchgPU3AS1Vmm(ptr addrspace(1), i64) local_unnamed_addr #0

define spir_func i64 @_Z11atomic_xchgPU3AS1Vmm(ptr addrspace(1) %a, i64 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z15_cl_atomic_xchgPU3AS1Vmm(ptr addrspace(1) %a, i64 %b)
  ret i64 %call
}


declare i64 @_Z15_cl_atomic_xchgPU3AS3Vmm(ptr addrspace(3), i64) local_unnamed_addr #0

define spir_func i64 @_Z11atomic_xchgPU3AS3Vmm(ptr addrspace(3) %a, i64 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z15_cl_atomic_xchgPU3AS3Vmm(ptr addrspace(3) %a, i64 %b)
  ret i64 %call
}


declare i64 @_Z18_cl_atomic_cmpxchgPU3AS1Vmmm(ptr addrspace(1), i64, i64) local_unnamed_addr #0

define spir_func i64 @_Z14atomic_cmpxchgPU3AS1Vmmm(ptr addrspace(1) %a, i64 %b, i64 %c) local_unnamed_addr #0 {
  %call = tail call i64 @_Z18_cl_atomic_cmpxchgPU3AS1Vmmm(ptr addrspace(1) %a, i64 %b, i64 %c)
  ret i64 %call
}


declare i64 @_Z18_cl_atomic_cmpxchgPU3AS3Vmmm(ptr addrspace(3), i64, i64) local_unnamed_addr #0

define spir_func i64 @_Z14atomic_cmpxchgPU3AS3Vmmm(ptr addrspace(3) %a, i64 %b, i64 %c) local_unnamed_addr #0 {
  %call = tail call i64 @_Z18_cl_atomic_cmpxchgPU3AS3Vmmm(ptr addrspace(3) %a, i64 %b, i64 %c)
  ret i64 %call
}


declare float @_Z15_cl_atomic_xchgPU3AS1Vff(ptr addrspace(1), float) local_unnamed_addr #0

define spir_func float @_Z11atomic_xchgPU3AS1Vff(ptr addrspace(1) %a, float %b) local_unnamed_addr #0 {
  %call = tail call float @_Z15_cl_atomic_xchgPU3AS1Vff(ptr addrspace(1) %a, float %b)
  ret float %call
}


declare float @_Z15_cl_atomic_xchgPU3AS3Vff(ptr addrspace(3), float) local_unnamed_addr #0

define spir_func float @_Z11atomic_xchgPU3AS3Vff(ptr addrspace(3) %a, float %b) local_unnamed_addr #0 {
  %call = tail call float @_Z15_cl_atomic_xchgPU3AS3Vff(ptr addrspace(3) %a, float %b)
  ret float %call
}


declare float @_Z18_cl_atomic_cmpxchgPU3AS1Vfff(ptr addrspace(1), float, float) local_unnamed_addr #0

define spir_func float @_Z14atomic_cmpxchgPU3AS1Vfff(ptr addrspace(1) %a, float %b, float %c) local_unnamed_addr #0 {
  %call = tail call float @_Z18_cl_atomic_cmpxchgPU3AS1Vfff(ptr addrspace(1) %a, float %b, float %c)
  ret float %call
}


declare float @_Z18_cl_atomic_cmpxchgPU3AS3Vfff(ptr addrspace(3), float, float) local_unnamed_addr #0

define spir_func float @_Z14atomic_cmpxchgPU3AS3Vfff(ptr addrspace(3) %a, float %b, float %c) local_unnamed_addr #0 {
  %call = tail call float @_Z18_cl_atomic_cmpxchgPU3AS3Vfff(ptr addrspace(3) %a, float %b, float %c)
  ret float %call
}


declare double @_Z15_cl_atomic_xchgPU3AS1Vdd(ptr addrspace(1), double) local_unnamed_addr #0

define spir_func double @_Z11atomic_xchgPU3AS1Vdd(ptr addrspace(1) %a, double %b) local_unnamed_addr #0 {
  %call = tail call double @_Z15_cl_atomic_xchgPU3AS1Vdd(ptr addrspace(1) %a, double %b)
  ret double %call
}


declare double @_Z15_cl_atomic_xchgPU3AS3Vdd(ptr addrspace(3), double) local_unnamed_addr #0

define spir_func double @_Z11atomic_xchgPU3AS3Vdd(ptr addrspace(3) %a, double %b) local_unnamed_addr #0 {
  %call = tail call double @_Z15_cl_atomic_xchgPU3AS3Vdd(ptr addrspace(3) %a, double %b)
  ret double %call
}


declare double @_Z18_cl_atomic_cmpxchgPU3AS1Vddd(ptr addrspace(1), double, double) local_unnamed_addr #0

define spir_func double @_Z14atomic_cmpxchgPU3AS1Vddd(ptr addrspace(1) %a, double %b, double %c) local_unnamed_addr #0 {
  %call = tail call double @_Z18_cl_atomic_cmpxchgPU3AS1Vddd(ptr addrspace(1) %a, double %b, double %c)
  ret double %call
}


declare double @_Z18_cl_atomic_cmpxchgPU3AS3Vddd(ptr addrspace(3), double, double) local_unnamed_addr #0

define spir_func double @_Z14atomic_cmpxchgPU3AS3Vddd(ptr addrspace(3) %a, double %b, double %c) local_unnamed_addr #0 {
  %call = tail call double @_Z18_cl_atomic_cmpxchgPU3AS3Vddd(ptr addrspace(3) %a, double %b, double %c)
  ret double %call
}


declare void @_Z15_cl_atomic_initPU3AS1VU7_Atomicii(ptr addrspace(1), i32) local_unnamed_addr #0

define spir_func void @_Z11atomic_initPU3AS1VU7_Atomicii(ptr addrspace(1) %a, i32 %b) local_unnamed_addr #0 {
  tail call void @_Z15_cl_atomic_initPU3AS1VU7_Atomicii(ptr addrspace(1) %a, i32 %b)
  ret void
}


declare void @_Z15_cl_atomic_initPU3AS3VU7_Atomicii(ptr addrspace(3), i32) local_unnamed_addr #0

define spir_func void @_Z11atomic_initPU3AS3VU7_Atomicii(ptr addrspace(3) %a, i32 %b) local_unnamed_addr #0 {
  tail call void @_Z15_cl_atomic_initPU3AS3VU7_Atomicii(ptr addrspace(3) %a, i32 %b)
  ret void
}


declare i32 @_Z34_cl_atomic_compare_exchange_strongPU3AS1VU7_AtomiciPU3AS1ii(ptr addrspace(1), ptr addrspace(1), i32) local_unnamed_addr #0

define spir_func i32 @_Z30atomic_compare_exchange_strongPU3AS1VU7_AtomiciPU3AS1ii(ptr addrspace(1) %a, ptr addrspace(1) %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i32 @_Z34_cl_atomic_compare_exchange_strongPU3AS1VU7_AtomiciPU3AS1ii(ptr addrspace(1) %a, ptr addrspace(1) %b, i32 %c)
  ret i32 %call
}


declare i32 @_Z34_cl_atomic_compare_exchange_strongPU3AS3VU7_AtomiciPU3AS3ii(ptr addrspace(3), ptr addrspace(3), i32) local_unnamed_addr #0

define spir_func i32 @_Z30atomic_compare_exchange_strongPU3AS3VU7_AtomiciPU3AS3ii(ptr addrspace(3) %a, ptr addrspace(3) %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i32 @_Z34_cl_atomic_compare_exchange_strongPU3AS3VU7_AtomiciPU3AS3ii(ptr addrspace(3) %a, ptr addrspace(3) %b, i32 %c)
  ret i32 %call
}


declare i32 @_Z43_cl_atomic_compare_exchange_strong_explicitPU3AS1VU7_AtomiciPU3AS1ii12memory_order12memory_order(ptr addrspace(1), ptr addrspace(1), i32, i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z39atomic_compare_exchange_strong_explicitPU3AS1VU7_AtomiciPU3AS1ii12memory_order12memory_order(ptr addrspace(1) %a, ptr addrspace(1) %b, i32 %c, i32 %d, i32 %e) local_unnamed_addr #0 {
  %call = tail call i32 @_Z43_cl_atomic_compare_exchange_strong_explicitPU3AS1VU7_AtomiciPU3AS1ii12memory_order12memory_order(ptr addrspace(1) %a, ptr addrspace(1) %b, i32 %c, i32 %d, i32 %e)
  ret i32 %call
}


declare i32 @_Z43_cl_atomic_compare_exchange_strong_explicitPU3AS3VU7_AtomiciPU3AS3ii12memory_order12memory_order(ptr addrspace(3), ptr addrspace(3), i32, i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z39atomic_compare_exchange_strong_explicitPU3AS3VU7_AtomiciPU3AS3ii12memory_order12memory_order(ptr addrspace(3) %a, ptr addrspace(3) %b, i32 %c, i32 %d, i32 %e) local_unnamed_addr #0 {
  %call = tail call i32 @_Z43_cl_atomic_compare_exchange_strong_explicitPU3AS3VU7_AtomiciPU3AS3ii12memory_order12memory_order(ptr addrspace(3) %a, ptr addrspace(3) %b, i32 %c, i32 %d, i32 %e)
  ret i32 %call
}


declare i32 @_Z43_cl_atomic_compare_exchange_strong_explicitPU3AS1VU7_AtomiciPU3AS1ii12memory_order12memory_order12memory_scope(ptr addrspace(1), ptr addrspace(1), i32, i32, i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z39atomic_compare_exchange_strong_explicitPU3AS1VU7_AtomiciPU3AS1ii12memory_order12memory_order12memory_scope(ptr addrspace(1) %a, ptr addrspace(1) %b, i32 %c, i32 %d, i32 %e, i32 %f) local_unnamed_addr #0 {
  %call = tail call i32 @_Z43_cl_atomic_compare_exchange_strong_explicitPU3AS1VU7_AtomiciPU3AS1ii12memory_order12memory_order12memory_scope(ptr addrspace(1) %a, ptr addrspace(1) %b, i32 %c, i32 %d, i32 %e, i32 %f)
  ret i32 %call
}


declare i32 @_Z43_cl_atomic_compare_exchange_strong_explicitPU3AS3VU7_AtomiciPU3AS3ii12memory_order12memory_order12memory_scope(ptr addrspace(3), ptr addrspace(3), i32, i32, i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z39atomic_compare_exchange_strong_explicitPU3AS3VU7_AtomiciPU3AS3ii12memory_order12memory_order12memory_scope(ptr addrspace(3) %a, ptr addrspace(3) %b, i32 %c, i32 %d, i32 %e, i32 %f) local_unnamed_addr #0 {
  %call = tail call i32 @_Z43_cl_atomic_compare_exchange_strong_explicitPU3AS3VU7_AtomiciPU3AS3ii12memory_order12memory_order12memory_scope(ptr addrspace(3) %a, ptr addrspace(3) %b, i32 %c, i32 %d, i32 %e, i32 %f)
  ret i32 %call
}


declare i32 @_Z15_cl_atomic_loadPU3AS1VU7_Atomici(ptr addrspace(1)) local_unnamed_addr #0

define spir_func i32 @_Z11atomic_loadPU3AS1VU7_Atomici(ptr addrspace(1) %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z15_cl_atomic_loadPU3AS1VU7_Atomici(ptr addrspace(1) %a)
  ret i32 %call
}


declare i32 @_Z15_cl_atomic_loadPU3AS3VU7_Atomici(ptr addrspace(3)) local_unnamed_addr #0

define spir_func i32 @_Z11atomic_loadPU3AS3VU7_Atomici(ptr addrspace(3) %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z15_cl_atomic_loadPU3AS3VU7_Atomici(ptr addrspace(3) %a)
  ret i32 %call
}


declare i32 @_Z24_cl_atomic_load_explicitPU3AS1VU7_Atomici12memory_order(ptr addrspace(1), i32) local_unnamed_addr #0

define spir_func i32 @_Z20atomic_load_explicitPU3AS1VU7_Atomici12memory_order(ptr addrspace(1) %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z24_cl_atomic_load_explicitPU3AS1VU7_Atomici12memory_order(ptr addrspace(1) %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z24_cl_atomic_load_explicitPU3AS3VU7_Atomici12memory_order(ptr addrspace(3), i32) local_unnamed_addr #0

define spir_func i32 @_Z20atomic_load_explicitPU3AS3VU7_Atomici12memory_order(ptr addrspace(3) %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z24_cl_atomic_load_explicitPU3AS3VU7_Atomici12memory_order(ptr addrspace(3) %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z24_cl_atomic_load_explicitPU3AS1VU7_Atomici12memory_order12memory_scope(ptr addrspace(1), i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z20atomic_load_explicitPU3AS1VU7_Atomici12memory_order12memory_scope(ptr addrspace(1) %a, i32 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i32 @_Z24_cl_atomic_load_explicitPU3AS1VU7_Atomici12memory_order12memory_scope(ptr addrspace(1) %a, i32 %b, i32 %c)
  ret i32 %call
}


declare i32 @_Z24_cl_atomic_load_explicitPU3AS3VU7_Atomici12memory_order12memory_scope(ptr addrspace(3), i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z20atomic_load_explicitPU3AS3VU7_Atomici12memory_order12memory_scope(ptr addrspace(3) %a, i32 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i32 @_Z24_cl_atomic_load_explicitPU3AS3VU7_Atomici12memory_order12memory_scope(ptr addrspace(3) %a, i32 %b, i32 %c)
  ret i32 %call
}


declare i32 @_Z16_cl_atomic_storePU3AS1VU7_Atomicii(ptr addrspace(1), i32) local_unnamed_addr #0

define spir_func i32 @_Z12atomic_storePU3AS1VU7_Atomicii(ptr addrspace(1) %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z16_cl_atomic_storePU3AS1VU7_Atomicii(ptr addrspace(1) %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z16_cl_atomic_storePU3AS3VU7_Atomicii(ptr addrspace(3), i32) local_unnamed_addr #0

define spir_func i32 @_Z12atomic_storePU3AS3VU7_Atomicii(ptr addrspace(3) %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z16_cl_atomic_storePU3AS3VU7_Atomicii(ptr addrspace(3) %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z25_cl_atomic_store_explicitPU3AS1VU7_Atomicii12memory_order(ptr addrspace(1), i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z21atomic_store_explicitPU3AS1VU7_Atomicii12memory_order(ptr addrspace(1) %a, i32 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i32 @_Z25_cl_atomic_store_explicitPU3AS1VU7_Atomicii12memory_order(ptr addrspace(1) %a, i32 %b, i32 %c)
  ret i32 %call
}


declare i32 @_Z25_cl_atomic_store_explicitPU3AS3VU7_Atomicii12memory_order(ptr addrspace(3), i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z21atomic_store_explicitPU3AS3VU7_Atomicii12memory_order(ptr addrspace(3) %a, i32 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i32 @_Z25_cl_atomic_store_explicitPU3AS3VU7_Atomicii12memory_order(ptr addrspace(3) %a, i32 %b, i32 %c)
  ret i32 %call
}


declare i32 @_Z25_cl_atomic_store_explicitPU3AS1VU7_Atomicii12memory_order12memory_scope(ptr addrspace(1), i32, i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z21atomic_store_explicitPU3AS1VU7_Atomicii12memory_order12memory_scope(ptr addrspace(1) %a, i32 %b, i32 %c, i32 %d) local_unnamed_addr #0 {
  %call = tail call i32 @_Z25_cl_atomic_store_explicitPU3AS1VU7_Atomicii12memory_order12memory_scope(ptr addrspace(1) %a, i32 %b, i32 %c, i32 %d)
  ret i32 %call
}


declare i32 @_Z25_cl_atomic_store_explicitPU3AS3VU7_Atomicii12memory_order12memory_scope(ptr addrspace(3), i32, i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z21atomic_store_explicitPU3AS3VU7_Atomicii12memory_order12memory_scope(ptr addrspace(3) %a, i32 %b, i32 %c, i32 %d) local_unnamed_addr #0 {
  %call = tail call i32 @_Z25_cl_atomic_store_explicitPU3AS3VU7_Atomicii12memory_order12memory_scope(ptr addrspace(3) %a, i32 %b, i32 %c, i32 %d)
  ret i32 %call
}


declare i32 @_Z32_cl_atomic_compare_exchange_weakPU3AS1VU7_AtomiciPU3AS1ii(ptr addrspace(1), ptr addrspace(1), i32) local_unnamed_addr #0

define spir_func i32 @_Z28atomic_compare_exchange_weakPU3AS1VU7_AtomiciPU3AS1ii(ptr addrspace(1) %a, ptr addrspace(1) %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i32 @_Z32_cl_atomic_compare_exchange_weakPU3AS1VU7_AtomiciPU3AS1ii(ptr addrspace(1) %a, ptr addrspace(1) %b, i32 %c)
  ret i32 %call
}


declare i32 @_Z32_cl_atomic_compare_exchange_weakPU3AS3VU7_AtomiciPU3AS3ii(ptr addrspace(3), ptr addrspace(3), i32) local_unnamed_addr #0

define spir_func i32 @_Z28atomic_compare_exchange_weakPU3AS3VU7_AtomiciPU3AS3ii(ptr addrspace(3) %a, ptr addrspace(3) %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i32 @_Z32_cl_atomic_compare_exchange_weakPU3AS3VU7_AtomiciPU3AS3ii(ptr addrspace(3) %a, ptr addrspace(3) %b, i32 %c)
  ret i32 %call
}


declare i32 @_Z41_cl_atomic_compare_exchange_weak_explicitPU3AS1VU7_AtomiciPU3AS1ii12memory_order12memory_order(ptr addrspace(1), ptr addrspace(1), i32, i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z37atomic_compare_exchange_weak_explicitPU3AS1VU7_AtomiciPU3AS1ii12memory_order12memory_order(ptr addrspace(1) %a, ptr addrspace(1) %b, i32 %c, i32 %d, i32 %e) local_unnamed_addr #0 {
  %call = tail call i32 @_Z41_cl_atomic_compare_exchange_weak_explicitPU3AS1VU7_AtomiciPU3AS1ii12memory_order12memory_order(ptr addrspace(1) %a, ptr addrspace(1) %b, i32 %c, i32 %d, i32 %e)
  ret i32 %call
}


declare i32 @_Z41_cl_atomic_compare_exchange_weak_explicitPU3AS3VU7_AtomiciPU3AS3ii12memory_order12memory_order(ptr addrspace(3), ptr addrspace(3), i32, i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z37atomic_compare_exchange_weak_explicitPU3AS3VU7_AtomiciPU3AS3ii12memory_order12memory_order(ptr addrspace(3) %a, ptr addrspace(3) %b, i32 %c, i32 %d, i32 %e) local_unnamed_addr #0 {
  %call = tail call i32 @_Z41_cl_atomic_compare_exchange_weak_explicitPU3AS3VU7_AtomiciPU3AS3ii12memory_order12memory_order(ptr addrspace(3) %a, ptr addrspace(3) %b, i32 %c, i32 %d, i32 %e)
  ret i32 %call
}


declare i32 @_Z41_cl_atomic_compare_exchange_weak_explicitPU3AS1VU7_AtomiciPU3AS1ii12memory_order12memory_order12memory_scope(ptr addrspace(1), ptr addrspace(1), i32, i32, i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z37atomic_compare_exchange_weak_explicitPU3AS1VU7_AtomiciPU3AS1ii12memory_order12memory_order12memory_scope(ptr addrspace(1) %a, ptr addrspace(1) %b, i32 %c, i32 %d, i32 %e, i32 %f) local_unnamed_addr #0 {
  %call = tail call i32 @_Z41_cl_atomic_compare_exchange_weak_explicitPU3AS1VU7_AtomiciPU3AS1ii12memory_order12memory_order12memory_scope(ptr addrspace(1) %a, ptr addrspace(1) %b, i32 %c, i32 %d, i32 %e, i32 %f)
  ret i32 %call
}


declare i32 @_Z41_cl_atomic_compare_exchange_weak_explicitPU3AS3VU7_AtomiciPU3AS3ii12memory_order12memory_order12memory_scope(ptr addrspace(3), ptr addrspace(3), i32, i32, i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z37atomic_compare_exchange_weak_explicitPU3AS3VU7_AtomiciPU3AS3ii12memory_order12memory_order12memory_scope(ptr addrspace(3) %a, ptr addrspace(3) %b, i32 %c, i32 %d, i32 %e, i32 %f) local_unnamed_addr #0 {
  %call = tail call i32 @_Z41_cl_atomic_compare_exchange_weak_explicitPU3AS3VU7_AtomiciPU3AS3ii12memory_order12memory_order12memory_scope(ptr addrspace(3) %a, ptr addrspace(3) %b, i32 %c, i32 %d, i32 %e, i32 %f)
  ret i32 %call
}


declare i32 @_Z19_cl_atomic_exchangePU3AS1VU7_Atomicii(ptr addrspace(1), i32) local_unnamed_addr #0

define spir_func i32 @_Z15atomic_exchangePU3AS1VU7_Atomicii(ptr addrspace(1) %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z19_cl_atomic_exchangePU3AS1VU7_Atomicii(ptr addrspace(1) %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z19_cl_atomic_exchangePU3AS3VU7_Atomicii(ptr addrspace(3), i32) local_unnamed_addr #0

define spir_func i32 @_Z15atomic_exchangePU3AS3VU7_Atomicii(ptr addrspace(3) %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z19_cl_atomic_exchangePU3AS3VU7_Atomicii(ptr addrspace(3) %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z28_cl_atomic_exchange_explicitPU3AS1VU7_Atomicii12memory_order(ptr addrspace(1), i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z24atomic_exchange_explicitPU3AS1VU7_Atomicii12memory_order(ptr addrspace(1) %a, i32 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i32 @_Z28_cl_atomic_exchange_explicitPU3AS1VU7_Atomicii12memory_order(ptr addrspace(1) %a, i32 %b, i32 %c)
  ret i32 %call
}


declare i32 @_Z28_cl_atomic_exchange_explicitPU3AS3VU7_Atomicii12memory_order(ptr addrspace(3), i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z24atomic_exchange_explicitPU3AS3VU7_Atomicii12memory_order(ptr addrspace(3) %a, i32 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i32 @_Z28_cl_atomic_exchange_explicitPU3AS3VU7_Atomicii12memory_order(ptr addrspace(3) %a, i32 %b, i32 %c)
  ret i32 %call
}


declare i32 @_Z28_cl_atomic_exchange_explicitPU3AS1VU7_Atomicii12memory_order12memory_scope(ptr addrspace(1), i32, i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z24atomic_exchange_explicitPU3AS1VU7_Atomicii12memory_order12memory_scope(ptr addrspace(1) %a, i32 %b, i32 %c, i32 %d) local_unnamed_addr #0 {
  %call = tail call i32 @_Z28_cl_atomic_exchange_explicitPU3AS1VU7_Atomicii12memory_order12memory_scope(ptr addrspace(1) %a, i32 %b, i32 %c, i32 %d)
  ret i32 %call
}


declare i32 @_Z28_cl_atomic_exchange_explicitPU3AS3VU7_Atomicii12memory_order12memory_scope(ptr addrspace(3), i32, i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z24atomic_exchange_explicitPU3AS3VU7_Atomicii12memory_order12memory_scope(ptr addrspace(3) %a, i32 %b, i32 %c, i32 %d) local_unnamed_addr #0 {
  %call = tail call i32 @_Z28_cl_atomic_exchange_explicitPU3AS3VU7_Atomicii12memory_order12memory_scope(ptr addrspace(3) %a, i32 %b, i32 %c, i32 %d)
  ret i32 %call
}


declare void @_Z15_cl_atomic_initPU3AS1VU7_Atomicjj(ptr addrspace(1), i32) local_unnamed_addr #0

define spir_func void @_Z11atomic_initPU3AS1VU7_Atomicjj(ptr addrspace(1) %a, i32 %b) local_unnamed_addr #0 {
  tail call void @_Z15_cl_atomic_initPU3AS1VU7_Atomicjj(ptr addrspace(1) %a, i32 %b)
  ret void
}


declare void @_Z15_cl_atomic_initPU3AS3VU7_Atomicjj(ptr addrspace(3), i32) local_unnamed_addr #0

define spir_func void @_Z11atomic_initPU3AS3VU7_Atomicjj(ptr addrspace(3) %a, i32 %b) local_unnamed_addr #0 {
  tail call void @_Z15_cl_atomic_initPU3AS3VU7_Atomicjj(ptr addrspace(3) %a, i32 %b)
  ret void
}


declare i32 @_Z34_cl_atomic_compare_exchange_strongPU3AS1VU7_AtomicjPU3AS1jj(ptr addrspace(1), ptr addrspace(1), i32) local_unnamed_addr #0

define spir_func i32 @_Z30atomic_compare_exchange_strongPU3AS1VU7_AtomicjPU3AS1jj(ptr addrspace(1) %a, ptr addrspace(1) %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i32 @_Z34_cl_atomic_compare_exchange_strongPU3AS1VU7_AtomicjPU3AS1jj(ptr addrspace(1) %a, ptr addrspace(1) %b, i32 %c)
  ret i32 %call
}


declare i32 @_Z34_cl_atomic_compare_exchange_strongPU3AS3VU7_AtomicjPU3AS3jj(ptr addrspace(3), ptr addrspace(3), i32) local_unnamed_addr #0

define spir_func i32 @_Z30atomic_compare_exchange_strongPU3AS3VU7_AtomicjPU3AS3jj(ptr addrspace(3) %a, ptr addrspace(3) %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i32 @_Z34_cl_atomic_compare_exchange_strongPU3AS3VU7_AtomicjPU3AS3jj(ptr addrspace(3) %a, ptr addrspace(3) %b, i32 %c)
  ret i32 %call
}


declare i32 @_Z43_cl_atomic_compare_exchange_strong_explicitPU3AS1VU7_AtomicjPU3AS1jj12memory_order12memory_order(ptr addrspace(1), ptr addrspace(1), i32, i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z39atomic_compare_exchange_strong_explicitPU3AS1VU7_AtomicjPU3AS1jj12memory_order12memory_order(ptr addrspace(1) %a, ptr addrspace(1) %b, i32 %c, i32 %d, i32 %e) local_unnamed_addr #0 {
  %call = tail call i32 @_Z43_cl_atomic_compare_exchange_strong_explicitPU3AS1VU7_AtomicjPU3AS1jj12memory_order12memory_order(ptr addrspace(1) %a, ptr addrspace(1) %b, i32 %c, i32 %d, i32 %e)
  ret i32 %call
}


declare i32 @_Z43_cl_atomic_compare_exchange_strong_explicitPU3AS3VU7_AtomicjPU3AS3jj12memory_order12memory_order(ptr addrspace(3), ptr addrspace(3), i32, i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z39atomic_compare_exchange_strong_explicitPU3AS3VU7_AtomicjPU3AS3jj12memory_order12memory_order(ptr addrspace(3) %a, ptr addrspace(3) %b, i32 %c, i32 %d, i32 %e) local_unnamed_addr #0 {
  %call = tail call i32 @_Z43_cl_atomic_compare_exchange_strong_explicitPU3AS3VU7_AtomicjPU3AS3jj12memory_order12memory_order(ptr addrspace(3) %a, ptr addrspace(3) %b, i32 %c, i32 %d, i32 %e)
  ret i32 %call
}


declare i32 @_Z43_cl_atomic_compare_exchange_strong_explicitPU3AS1VU7_AtomicjPU3AS1jj12memory_order12memory_order12memory_scope(ptr addrspace(1), ptr addrspace(1), i32, i32, i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z39atomic_compare_exchange_strong_explicitPU3AS1VU7_AtomicjPU3AS1jj12memory_order12memory_order12memory_scope(ptr addrspace(1) %a, ptr addrspace(1) %b, i32 %c, i32 %d, i32 %e, i32 %f) local_unnamed_addr #0 {
  %call = tail call i32 @_Z43_cl_atomic_compare_exchange_strong_explicitPU3AS1VU7_AtomicjPU3AS1jj12memory_order12memory_order12memory_scope(ptr addrspace(1) %a, ptr addrspace(1) %b, i32 %c, i32 %d, i32 %e, i32 %f)
  ret i32 %call
}


declare i32 @_Z43_cl_atomic_compare_exchange_strong_explicitPU3AS3VU7_AtomicjPU3AS3jj12memory_order12memory_order12memory_scope(ptr addrspace(3), ptr addrspace(3), i32, i32, i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z39atomic_compare_exchange_strong_explicitPU3AS3VU7_AtomicjPU3AS3jj12memory_order12memory_order12memory_scope(ptr addrspace(3) %a, ptr addrspace(3) %b, i32 %c, i32 %d, i32 %e, i32 %f) local_unnamed_addr #0 {
  %call = tail call i32 @_Z43_cl_atomic_compare_exchange_strong_explicitPU3AS3VU7_AtomicjPU3AS3jj12memory_order12memory_order12memory_scope(ptr addrspace(3) %a, ptr addrspace(3) %b, i32 %c, i32 %d, i32 %e, i32 %f)
  ret i32 %call
}


declare i32 @_Z15_cl_atomic_loadPU3AS1VU7_Atomicj(ptr addrspace(1)) local_unnamed_addr #0

define spir_func i32 @_Z11atomic_loadPU3AS1VU7_Atomicj(ptr addrspace(1) %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z15_cl_atomic_loadPU3AS1VU7_Atomicj(ptr addrspace(1) %a)
  ret i32 %call
}


declare i32 @_Z15_cl_atomic_loadPU3AS3VU7_Atomicj(ptr addrspace(3)) local_unnamed_addr #0

define spir_func i32 @_Z11atomic_loadPU3AS3VU7_Atomicj(ptr addrspace(3) %a) local_unnamed_addr #0 {
  %call = tail call i32 @_Z15_cl_atomic_loadPU3AS3VU7_Atomicj(ptr addrspace(3) %a)
  ret i32 %call
}


declare i32 @_Z24_cl_atomic_load_explicitPU3AS1VU7_Atomicj12memory_order(ptr addrspace(1), i32) local_unnamed_addr #0

define spir_func i32 @_Z20atomic_load_explicitPU3AS1VU7_Atomicj12memory_order(ptr addrspace(1) %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z24_cl_atomic_load_explicitPU3AS1VU7_Atomicj12memory_order(ptr addrspace(1) %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z24_cl_atomic_load_explicitPU3AS3VU7_Atomicj12memory_order(ptr addrspace(3), i32) local_unnamed_addr #0

define spir_func i32 @_Z20atomic_load_explicitPU3AS3VU7_Atomicj12memory_order(ptr addrspace(3) %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z24_cl_atomic_load_explicitPU3AS3VU7_Atomicj12memory_order(ptr addrspace(3) %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z24_cl_atomic_load_explicitPU3AS1VU7_Atomicj12memory_order12memory_scope(ptr addrspace(1), i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z20atomic_load_explicitPU3AS1VU7_Atomicj12memory_order12memory_scope(ptr addrspace(1) %a, i32 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i32 @_Z24_cl_atomic_load_explicitPU3AS1VU7_Atomicj12memory_order12memory_scope(ptr addrspace(1) %a, i32 %b, i32 %c)
  ret i32 %call
}


declare i32 @_Z24_cl_atomic_load_explicitPU3AS3VU7_Atomicj12memory_order12memory_scope(ptr addrspace(3), i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z20atomic_load_explicitPU3AS3VU7_Atomicj12memory_order12memory_scope(ptr addrspace(3) %a, i32 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i32 @_Z24_cl_atomic_load_explicitPU3AS3VU7_Atomicj12memory_order12memory_scope(ptr addrspace(3) %a, i32 %b, i32 %c)
  ret i32 %call
}


declare i32 @_Z16_cl_atomic_storePU3AS1VU7_Atomicjj(ptr addrspace(1), i32) local_unnamed_addr #0

define spir_func i32 @_Z12atomic_storePU3AS1VU7_Atomicjj(ptr addrspace(1) %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z16_cl_atomic_storePU3AS1VU7_Atomicjj(ptr addrspace(1) %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z16_cl_atomic_storePU3AS3VU7_Atomicjj(ptr addrspace(3), i32) local_unnamed_addr #0

define spir_func i32 @_Z12atomic_storePU3AS3VU7_Atomicjj(ptr addrspace(3) %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z16_cl_atomic_storePU3AS3VU7_Atomicjj(ptr addrspace(3) %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z25_cl_atomic_store_explicitPU3AS1VU7_Atomicjj12memory_order(ptr addrspace(1), i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z21atomic_store_explicitPU3AS1VU7_Atomicjj12memory_order(ptr addrspace(1) %a, i32 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i32 @_Z25_cl_atomic_store_explicitPU3AS1VU7_Atomicjj12memory_order(ptr addrspace(1) %a, i32 %b, i32 %c)
  ret i32 %call
}


declare i32 @_Z25_cl_atomic_store_explicitPU3AS3VU7_Atomicjj12memory_order(ptr addrspace(3), i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z21atomic_store_explicitPU3AS3VU7_Atomicjj12memory_order(ptr addrspace(3) %a, i32 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i32 @_Z25_cl_atomic_store_explicitPU3AS3VU7_Atomicjj12memory_order(ptr addrspace(3) %a, i32 %b, i32 %c)
  ret i32 %call
}


declare i32 @_Z25_cl_atomic_store_explicitPU3AS1VU7_Atomicjj12memory_order12memory_scope(ptr addrspace(1), i32, i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z21atomic_store_explicitPU3AS1VU7_Atomicjj12memory_order12memory_scope(ptr addrspace(1) %a, i32 %b, i32 %c, i32 %d) local_unnamed_addr #0 {
  %call = tail call i32 @_Z25_cl_atomic_store_explicitPU3AS1VU7_Atomicjj12memory_order12memory_scope(ptr addrspace(1) %a, i32 %b, i32 %c, i32 %d)
  ret i32 %call
}


declare i32 @_Z25_cl_atomic_store_explicitPU3AS3VU7_Atomicjj12memory_order12memory_scope(ptr addrspace(3), i32, i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z21atomic_store_explicitPU3AS3VU7_Atomicjj12memory_order12memory_scope(ptr addrspace(3) %a, i32 %b, i32 %c, i32 %d) local_unnamed_addr #0 {
  %call = tail call i32 @_Z25_cl_atomic_store_explicitPU3AS3VU7_Atomicjj12memory_order12memory_scope(ptr addrspace(3) %a, i32 %b, i32 %c, i32 %d)
  ret i32 %call
}


declare i32 @_Z32_cl_atomic_compare_exchange_weakPU3AS1VU7_AtomicjPU3AS1jj(ptr addrspace(1), ptr addrspace(1), i32) local_unnamed_addr #0

define spir_func i32 @_Z28atomic_compare_exchange_weakPU3AS1VU7_AtomicjPU3AS1jj(ptr addrspace(1) %a, ptr addrspace(1) %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i32 @_Z32_cl_atomic_compare_exchange_weakPU3AS1VU7_AtomicjPU3AS1jj(ptr addrspace(1) %a, ptr addrspace(1) %b, i32 %c)
  ret i32 %call
}


declare i32 @_Z32_cl_atomic_compare_exchange_weakPU3AS3VU7_AtomicjPU3AS3jj(ptr addrspace(3), ptr addrspace(3), i32) local_unnamed_addr #0

define spir_func i32 @_Z28atomic_compare_exchange_weakPU3AS3VU7_AtomicjPU3AS3jj(ptr addrspace(3) %a, ptr addrspace(3) %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i32 @_Z32_cl_atomic_compare_exchange_weakPU3AS3VU7_AtomicjPU3AS3jj(ptr addrspace(3) %a, ptr addrspace(3) %b, i32 %c)
  ret i32 %call
}


declare i32 @_Z41_cl_atomic_compare_exchange_weak_explicitPU3AS1VU7_AtomicjPU3AS1jj12memory_order12memory_order(ptr addrspace(1), ptr addrspace(1), i32, i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z37atomic_compare_exchange_weak_explicitPU3AS1VU7_AtomicjPU3AS1jj12memory_order12memory_order(ptr addrspace(1) %a, ptr addrspace(1) %b, i32 %c, i32 %d, i32 %e) local_unnamed_addr #0 {
  %call = tail call i32 @_Z41_cl_atomic_compare_exchange_weak_explicitPU3AS1VU7_AtomicjPU3AS1jj12memory_order12memory_order(ptr addrspace(1) %a, ptr addrspace(1) %b, i32 %c, i32 %d, i32 %e)
  ret i32 %call
}


declare i32 @_Z41_cl_atomic_compare_exchange_weak_explicitPU3AS3VU7_AtomicjPU3AS3jj12memory_order12memory_order(ptr addrspace(3), ptr addrspace(3), i32, i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z37atomic_compare_exchange_weak_explicitPU3AS3VU7_AtomicjPU3AS3jj12memory_order12memory_order(ptr addrspace(3) %a, ptr addrspace(3) %b, i32 %c, i32 %d, i32 %e) local_unnamed_addr #0 {
  %call = tail call i32 @_Z41_cl_atomic_compare_exchange_weak_explicitPU3AS3VU7_AtomicjPU3AS3jj12memory_order12memory_order(ptr addrspace(3) %a, ptr addrspace(3) %b, i32 %c, i32 %d, i32 %e)
  ret i32 %call
}


declare i32 @_Z41_cl_atomic_compare_exchange_weak_explicitPU3AS1VU7_AtomicjPU3AS1jj12memory_order12memory_order12memory_scope(ptr addrspace(1), ptr addrspace(1), i32, i32, i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z37atomic_compare_exchange_weak_explicitPU3AS1VU7_AtomicjPU3AS1jj12memory_order12memory_order12memory_scope(ptr addrspace(1) %a, ptr addrspace(1) %b, i32 %c, i32 %d, i32 %e, i32 %f) local_unnamed_addr #0 {
  %call = tail call i32 @_Z41_cl_atomic_compare_exchange_weak_explicitPU3AS1VU7_AtomicjPU3AS1jj12memory_order12memory_order12memory_scope(ptr addrspace(1) %a, ptr addrspace(1) %b, i32 %c, i32 %d, i32 %e, i32 %f)
  ret i32 %call
}


declare i32 @_Z41_cl_atomic_compare_exchange_weak_explicitPU3AS3VU7_AtomicjPU3AS3jj12memory_order12memory_order12memory_scope(ptr addrspace(3), ptr addrspace(3), i32, i32, i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z37atomic_compare_exchange_weak_explicitPU3AS3VU7_AtomicjPU3AS3jj12memory_order12memory_order12memory_scope(ptr addrspace(3) %a, ptr addrspace(3) %b, i32 %c, i32 %d, i32 %e, i32 %f) local_unnamed_addr #0 {
  %call = tail call i32 @_Z41_cl_atomic_compare_exchange_weak_explicitPU3AS3VU7_AtomicjPU3AS3jj12memory_order12memory_order12memory_scope(ptr addrspace(3) %a, ptr addrspace(3) %b, i32 %c, i32 %d, i32 %e, i32 %f)
  ret i32 %call
}


declare i32 @_Z19_cl_atomic_exchangePU3AS1VU7_Atomicjj(ptr addrspace(1), i32) local_unnamed_addr #0

define spir_func i32 @_Z15atomic_exchangePU3AS1VU7_Atomicjj(ptr addrspace(1) %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z19_cl_atomic_exchangePU3AS1VU7_Atomicjj(ptr addrspace(1) %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z19_cl_atomic_exchangePU3AS3VU7_Atomicjj(ptr addrspace(3), i32) local_unnamed_addr #0

define spir_func i32 @_Z15atomic_exchangePU3AS3VU7_Atomicjj(ptr addrspace(3) %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z19_cl_atomic_exchangePU3AS3VU7_Atomicjj(ptr addrspace(3) %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z28_cl_atomic_exchange_explicitPU3AS1VU7_Atomicjj12memory_order(ptr addrspace(1), i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z24atomic_exchange_explicitPU3AS1VU7_Atomicjj12memory_order(ptr addrspace(1) %a, i32 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i32 @_Z28_cl_atomic_exchange_explicitPU3AS1VU7_Atomicjj12memory_order(ptr addrspace(1) %a, i32 %b, i32 %c)
  ret i32 %call
}


declare i32 @_Z28_cl_atomic_exchange_explicitPU3AS3VU7_Atomicjj12memory_order(ptr addrspace(3), i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z24atomic_exchange_explicitPU3AS3VU7_Atomicjj12memory_order(ptr addrspace(3) %a, i32 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i32 @_Z28_cl_atomic_exchange_explicitPU3AS3VU7_Atomicjj12memory_order(ptr addrspace(3) %a, i32 %b, i32 %c)
  ret i32 %call
}


declare i32 @_Z28_cl_atomic_exchange_explicitPU3AS1VU7_Atomicjj12memory_order12memory_scope(ptr addrspace(1), i32, i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z24atomic_exchange_explicitPU3AS1VU7_Atomicjj12memory_order12memory_scope(ptr addrspace(1) %a, i32 %b, i32 %c, i32 %d) local_unnamed_addr #0 {
  %call = tail call i32 @_Z28_cl_atomic_exchange_explicitPU3AS1VU7_Atomicjj12memory_order12memory_scope(ptr addrspace(1) %a, i32 %b, i32 %c, i32 %d)
  ret i32 %call
}


declare i32 @_Z28_cl_atomic_exchange_explicitPU3AS3VU7_Atomicjj12memory_order12memory_scope(ptr addrspace(3), i32, i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z24atomic_exchange_explicitPU3AS3VU7_Atomicjj12memory_order12memory_scope(ptr addrspace(3) %a, i32 %b, i32 %c, i32 %d) local_unnamed_addr #0 {
  %call = tail call i32 @_Z28_cl_atomic_exchange_explicitPU3AS3VU7_Atomicjj12memory_order12memory_scope(ptr addrspace(3) %a, i32 %b, i32 %c, i32 %d)
  ret i32 %call
}


declare void @_Z15_cl_atomic_initPU3AS1VU7_Atomicll(ptr addrspace(1), i64) local_unnamed_addr #0

define spir_func void @_Z11atomic_initPU3AS1VU7_Atomicll(ptr addrspace(1) %a, i64 %b) local_unnamed_addr #0 {
  tail call void @_Z15_cl_atomic_initPU3AS1VU7_Atomicll(ptr addrspace(1) %a, i64 %b)
  ret void
}


declare void @_Z15_cl_atomic_initPU3AS3VU7_Atomicll(ptr addrspace(3), i64) local_unnamed_addr #0

define spir_func void @_Z11atomic_initPU3AS3VU7_Atomicll(ptr addrspace(3) %a, i64 %b) local_unnamed_addr #0 {
  tail call void @_Z15_cl_atomic_initPU3AS3VU7_Atomicll(ptr addrspace(3) %a, i64 %b)
  ret void
}


declare i64 @_Z34_cl_atomic_compare_exchange_strongPU3AS1VU7_AtomiclPU3AS1ll(ptr addrspace(1), ptr addrspace(1), i64) local_unnamed_addr #0

define spir_func i64 @_Z30atomic_compare_exchange_strongPU3AS1VU7_AtomiclPU3AS1ll(ptr addrspace(1) %a, ptr addrspace(1) %b, i64 %c) local_unnamed_addr #0 {
  %call = tail call i64 @_Z34_cl_atomic_compare_exchange_strongPU3AS1VU7_AtomiclPU3AS1ll(ptr addrspace(1) %a, ptr addrspace(1) %b, i64 %c)
  ret i64 %call
}


declare i64 @_Z34_cl_atomic_compare_exchange_strongPU3AS3VU7_AtomiclPU3AS3ll(ptr addrspace(3), ptr addrspace(3), i64) local_unnamed_addr #0

define spir_func i64 @_Z30atomic_compare_exchange_strongPU3AS3VU7_AtomiclPU3AS3ll(ptr addrspace(3) %a, ptr addrspace(3) %b, i64 %c) local_unnamed_addr #0 {
  %call = tail call i64 @_Z34_cl_atomic_compare_exchange_strongPU3AS3VU7_AtomiclPU3AS3ll(ptr addrspace(3) %a, ptr addrspace(3) %b, i64 %c)
  ret i64 %call
}


declare i64 @_Z43_cl_atomic_compare_exchange_strong_explicitPU3AS1VU7_AtomiclPU3AS1ll12memory_order12memory_order(ptr addrspace(1), ptr addrspace(1), i64, i32, i32) local_unnamed_addr #0

define spir_func i64 @_Z39atomic_compare_exchange_strong_explicitPU3AS1VU7_AtomiclPU3AS1ll12memory_order12memory_order(ptr addrspace(1) %a, ptr addrspace(1) %b, i64 %c, i32 %d, i32 %e) local_unnamed_addr #0 {
  %call = tail call i64 @_Z43_cl_atomic_compare_exchange_strong_explicitPU3AS1VU7_AtomiclPU3AS1ll12memory_order12memory_order(ptr addrspace(1) %a, ptr addrspace(1) %b, i64 %c, i32 %d, i32 %e)
  ret i64 %call
}


declare i64 @_Z43_cl_atomic_compare_exchange_strong_explicitPU3AS3VU7_AtomiclPU3AS3ll12memory_order12memory_order(ptr addrspace(3), ptr addrspace(3), i64, i32, i32) local_unnamed_addr #0

define spir_func i64 @_Z39atomic_compare_exchange_strong_explicitPU3AS3VU7_AtomiclPU3AS3ll12memory_order12memory_order(ptr addrspace(3) %a, ptr addrspace(3) %b, i64 %c, i32 %d, i32 %e) local_unnamed_addr #0 {
  %call = tail call i64 @_Z43_cl_atomic_compare_exchange_strong_explicitPU3AS3VU7_AtomiclPU3AS3ll12memory_order12memory_order(ptr addrspace(3) %a, ptr addrspace(3) %b, i64 %c, i32 %d, i32 %e)
  ret i64 %call
}


declare i64 @_Z43_cl_atomic_compare_exchange_strong_explicitPU3AS1VU7_AtomiclPU3AS1ll12memory_order12memory_order12memory_scope(ptr addrspace(1), ptr addrspace(1), i64, i32, i32, i32) local_unnamed_addr #0

define spir_func i64 @_Z39atomic_compare_exchange_strong_explicitPU3AS1VU7_AtomiclPU3AS1ll12memory_order12memory_order12memory_scope(ptr addrspace(1) %a, ptr addrspace(1) %b, i64 %c, i32 %d, i32 %e, i32 %f) local_unnamed_addr #0 {
  %call = tail call i64 @_Z43_cl_atomic_compare_exchange_strong_explicitPU3AS1VU7_AtomiclPU3AS1ll12memory_order12memory_order12memory_scope(ptr addrspace(1) %a, ptr addrspace(1) %b, i64 %c, i32 %d, i32 %e, i32 %f)
  ret i64 %call
}


declare i64 @_Z43_cl_atomic_compare_exchange_strong_explicitPU3AS3VU7_AtomiclPU3AS3ll12memory_order12memory_order12memory_scope(ptr addrspace(3), ptr addrspace(3), i64, i32, i32, i32) local_unnamed_addr #0

define spir_func i64 @_Z39atomic_compare_exchange_strong_explicitPU3AS3VU7_AtomiclPU3AS3ll12memory_order12memory_order12memory_scope(ptr addrspace(3) %a, ptr addrspace(3) %b, i64 %c, i32 %d, i32 %e, i32 %f) local_unnamed_addr #0 {
  %call = tail call i64 @_Z43_cl_atomic_compare_exchange_strong_explicitPU3AS3VU7_AtomiclPU3AS3ll12memory_order12memory_order12memory_scope(ptr addrspace(3) %a, ptr addrspace(3) %b, i64 %c, i32 %d, i32 %e, i32 %f)
  ret i64 %call
}


declare i64 @_Z15_cl_atomic_loadPU3AS1VU7_Atomicl(ptr addrspace(1)) local_unnamed_addr #0

define spir_func i64 @_Z11atomic_loadPU3AS1VU7_Atomicl(ptr addrspace(1) %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z15_cl_atomic_loadPU3AS1VU7_Atomicl(ptr addrspace(1) %a)
  ret i64 %call
}


declare i64 @_Z15_cl_atomic_loadPU3AS3VU7_Atomicl(ptr addrspace(3)) local_unnamed_addr #0

define spir_func i64 @_Z11atomic_loadPU3AS3VU7_Atomicl(ptr addrspace(3) %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z15_cl_atomic_loadPU3AS3VU7_Atomicl(ptr addrspace(3) %a)
  ret i64 %call
}


declare i64 @_Z24_cl_atomic_load_explicitPU3AS1VU7_Atomicl12memory_order(ptr addrspace(1), i32) local_unnamed_addr #0

define spir_func i64 @_Z20atomic_load_explicitPU3AS1VU7_Atomicl12memory_order(ptr addrspace(1) %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z24_cl_atomic_load_explicitPU3AS1VU7_Atomicl12memory_order(ptr addrspace(1) %a, i32 %b)
  ret i64 %call
}


declare i64 @_Z24_cl_atomic_load_explicitPU3AS3VU7_Atomicl12memory_order(ptr addrspace(3), i32) local_unnamed_addr #0

define spir_func i64 @_Z20atomic_load_explicitPU3AS3VU7_Atomicl12memory_order(ptr addrspace(3) %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z24_cl_atomic_load_explicitPU3AS3VU7_Atomicl12memory_order(ptr addrspace(3) %a, i32 %b)
  ret i64 %call
}


declare i64 @_Z24_cl_atomic_load_explicitPU3AS1VU7_Atomicl12memory_order12memory_scope(ptr addrspace(1), i32, i32) local_unnamed_addr #0

define spir_func i64 @_Z20atomic_load_explicitPU3AS1VU7_Atomicl12memory_order12memory_scope(ptr addrspace(1) %a, i32 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i64 @_Z24_cl_atomic_load_explicitPU3AS1VU7_Atomicl12memory_order12memory_scope(ptr addrspace(1) %a, i32 %b, i32 %c)
  ret i64 %call
}


declare i64 @_Z24_cl_atomic_load_explicitPU3AS3VU7_Atomicl12memory_order12memory_scope(ptr addrspace(3), i32, i32) local_unnamed_addr #0

define spir_func i64 @_Z20atomic_load_explicitPU3AS3VU7_Atomicl12memory_order12memory_scope(ptr addrspace(3) %a, i32 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i64 @_Z24_cl_atomic_load_explicitPU3AS3VU7_Atomicl12memory_order12memory_scope(ptr addrspace(3) %a, i32 %b, i32 %c)
  ret i64 %call
}


declare i64 @_Z16_cl_atomic_storePU3AS1VU7_Atomicll(ptr addrspace(1), i64) local_unnamed_addr #0

define spir_func i64 @_Z12atomic_storePU3AS1VU7_Atomicll(ptr addrspace(1) %a, i64 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z16_cl_atomic_storePU3AS1VU7_Atomicll(ptr addrspace(1) %a, i64 %b)
  ret i64 %call
}


declare i64 @_Z16_cl_atomic_storePU3AS3VU7_Atomicll(ptr addrspace(3), i64) local_unnamed_addr #0

define spir_func i64 @_Z12atomic_storePU3AS3VU7_Atomicll(ptr addrspace(3) %a, i64 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z16_cl_atomic_storePU3AS3VU7_Atomicll(ptr addrspace(3) %a, i64 %b)
  ret i64 %call
}


declare i64 @_Z25_cl_atomic_store_explicitPU3AS1VU7_Atomicll12memory_order(ptr addrspace(1), i64, i32) local_unnamed_addr #0

define spir_func i64 @_Z21atomic_store_explicitPU3AS1VU7_Atomicll12memory_order(ptr addrspace(1) %a, i64 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i64 @_Z25_cl_atomic_store_explicitPU3AS1VU7_Atomicll12memory_order(ptr addrspace(1) %a, i64 %b, i32 %c)
  ret i64 %call
}


declare i64 @_Z25_cl_atomic_store_explicitPU3AS3VU7_Atomicll12memory_order(ptr addrspace(3), i64, i32) local_unnamed_addr #0

define spir_func i64 @_Z21atomic_store_explicitPU3AS3VU7_Atomicll12memory_order(ptr addrspace(3) %a, i64 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i64 @_Z25_cl_atomic_store_explicitPU3AS3VU7_Atomicll12memory_order(ptr addrspace(3) %a, i64 %b, i32 %c)
  ret i64 %call
}


declare i64 @_Z25_cl_atomic_store_explicitPU3AS1VU7_Atomicll12memory_order12memory_scope(ptr addrspace(1), i64, i32, i32) local_unnamed_addr #0

define spir_func i64 @_Z21atomic_store_explicitPU3AS1VU7_Atomicll12memory_order12memory_scope(ptr addrspace(1) %a, i64 %b, i32 %c, i32 %d) local_unnamed_addr #0 {
  %call = tail call i64 @_Z25_cl_atomic_store_explicitPU3AS1VU7_Atomicll12memory_order12memory_scope(ptr addrspace(1) %a, i64 %b, i32 %c, i32 %d)
  ret i64 %call
}


declare i64 @_Z25_cl_atomic_store_explicitPU3AS3VU7_Atomicll12memory_order12memory_scope(ptr addrspace(3), i64, i32, i32) local_unnamed_addr #0

define spir_func i64 @_Z21atomic_store_explicitPU3AS3VU7_Atomicll12memory_order12memory_scope(ptr addrspace(3) %a, i64 %b, i32 %c, i32 %d) local_unnamed_addr #0 {
  %call = tail call i64 @_Z25_cl_atomic_store_explicitPU3AS3VU7_Atomicll12memory_order12memory_scope(ptr addrspace(3) %a, i64 %b, i32 %c, i32 %d)
  ret i64 %call
}


declare i64 @_Z32_cl_atomic_compare_exchange_weakPU3AS1VU7_AtomiclPU3AS1ll(ptr addrspace(1), ptr addrspace(1), i64) local_unnamed_addr #0

define spir_func i64 @_Z28atomic_compare_exchange_weakPU3AS1VU7_AtomiclPU3AS1ll(ptr addrspace(1) %a, ptr addrspace(1) %b, i64 %c) local_unnamed_addr #0 {
  %call = tail call i64 @_Z32_cl_atomic_compare_exchange_weakPU3AS1VU7_AtomiclPU3AS1ll(ptr addrspace(1) %a, ptr addrspace(1) %b, i64 %c)
  ret i64 %call
}


declare i64 @_Z32_cl_atomic_compare_exchange_weakPU3AS3VU7_AtomiclPU3AS3ll(ptr addrspace(3), ptr addrspace(3), i64) local_unnamed_addr #0

define spir_func i64 @_Z28atomic_compare_exchange_weakPU3AS3VU7_AtomiclPU3AS3ll(ptr addrspace(3) %a, ptr addrspace(3) %b, i64 %c) local_unnamed_addr #0 {
  %call = tail call i64 @_Z32_cl_atomic_compare_exchange_weakPU3AS3VU7_AtomiclPU3AS3ll(ptr addrspace(3) %a, ptr addrspace(3) %b, i64 %c)
  ret i64 %call
}


declare i64 @_Z41_cl_atomic_compare_exchange_weak_explicitPU3AS1VU7_AtomiclPU3AS1ll12memory_order12memory_order(ptr addrspace(1), ptr addrspace(1), i64, i32, i32) local_unnamed_addr #0

define spir_func i64 @_Z37atomic_compare_exchange_weak_explicitPU3AS1VU7_AtomiclPU3AS1ll12memory_order12memory_order(ptr addrspace(1) %a, ptr addrspace(1) %b, i64 %c, i32 %d, i32 %e) local_unnamed_addr #0 {
  %call = tail call i64 @_Z41_cl_atomic_compare_exchange_weak_explicitPU3AS1VU7_AtomiclPU3AS1ll12memory_order12memory_order(ptr addrspace(1) %a, ptr addrspace(1) %b, i64 %c, i32 %d, i32 %e)
  ret i64 %call
}


declare i64 @_Z41_cl_atomic_compare_exchange_weak_explicitPU3AS3VU7_AtomiclPU3AS3ll12memory_order12memory_order(ptr addrspace(3), ptr addrspace(3), i64, i32, i32) local_unnamed_addr #0

define spir_func i64 @_Z37atomic_compare_exchange_weak_explicitPU3AS3VU7_AtomiclPU3AS3ll12memory_order12memory_order(ptr addrspace(3) %a, ptr addrspace(3) %b, i64 %c, i32 %d, i32 %e) local_unnamed_addr #0 {
  %call = tail call i64 @_Z41_cl_atomic_compare_exchange_weak_explicitPU3AS3VU7_AtomiclPU3AS3ll12memory_order12memory_order(ptr addrspace(3) %a, ptr addrspace(3) %b, i64 %c, i32 %d, i32 %e)
  ret i64 %call
}


declare i64 @_Z41_cl_atomic_compare_exchange_weak_explicitPU3AS1VU7_AtomiclPU3AS1ll12memory_order12memory_order12memory_scope(ptr addrspace(1), ptr addrspace(1), i64, i32, i32, i32) local_unnamed_addr #0

define spir_func i64 @_Z37atomic_compare_exchange_weak_explicitPU3AS1VU7_AtomiclPU3AS1ll12memory_order12memory_order12memory_scope(ptr addrspace(1) %a, ptr addrspace(1) %b, i64 %c, i32 %d, i32 %e, i32 %f) local_unnamed_addr #0 {
  %call = tail call i64 @_Z41_cl_atomic_compare_exchange_weak_explicitPU3AS1VU7_AtomiclPU3AS1ll12memory_order12memory_order12memory_scope(ptr addrspace(1) %a, ptr addrspace(1) %b, i64 %c, i32 %d, i32 %e, i32 %f)
  ret i64 %call
}


declare i64 @_Z41_cl_atomic_compare_exchange_weak_explicitPU3AS3VU7_AtomiclPU3AS3ll12memory_order12memory_order12memory_scope(ptr addrspace(3), ptr addrspace(3), i64, i32, i32, i32) local_unnamed_addr #0

define spir_func i64 @_Z37atomic_compare_exchange_weak_explicitPU3AS3VU7_AtomiclPU3AS3ll12memory_order12memory_order12memory_scope(ptr addrspace(3) %a, ptr addrspace(3) %b, i64 %c, i32 %d, i32 %e, i32 %f) local_unnamed_addr #0 {
  %call = tail call i64 @_Z41_cl_atomic_compare_exchange_weak_explicitPU3AS3VU7_AtomiclPU3AS3ll12memory_order12memory_order12memory_scope(ptr addrspace(3) %a, ptr addrspace(3) %b, i64 %c, i32 %d, i32 %e, i32 %f)
  ret i64 %call
}


declare i64 @_Z19_cl_atomic_exchangePU3AS1VU7_Atomicll(ptr addrspace(1), i64) local_unnamed_addr #0

define spir_func i64 @_Z15atomic_exchangePU3AS1VU7_Atomicll(ptr addrspace(1) %a, i64 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z19_cl_atomic_exchangePU3AS1VU7_Atomicll(ptr addrspace(1) %a, i64 %b)
  ret i64 %call
}


declare i64 @_Z19_cl_atomic_exchangePU3AS3VU7_Atomicll(ptr addrspace(3), i64) local_unnamed_addr #0

define spir_func i64 @_Z15atomic_exchangePU3AS3VU7_Atomicll(ptr addrspace(3) %a, i64 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z19_cl_atomic_exchangePU3AS3VU7_Atomicll(ptr addrspace(3) %a, i64 %b)
  ret i64 %call
}


declare i64 @_Z28_cl_atomic_exchange_explicitPU3AS1VU7_Atomicll12memory_order(ptr addrspace(1), i64, i32) local_unnamed_addr #0

define spir_func i64 @_Z24atomic_exchange_explicitPU3AS1VU7_Atomicll12memory_order(ptr addrspace(1) %a, i64 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i64 @_Z28_cl_atomic_exchange_explicitPU3AS1VU7_Atomicll12memory_order(ptr addrspace(1) %a, i64 %b, i32 %c)
  ret i64 %call
}


declare i64 @_Z28_cl_atomic_exchange_explicitPU3AS3VU7_Atomicll12memory_order(ptr addrspace(3), i64, i32) local_unnamed_addr #0

define spir_func i64 @_Z24atomic_exchange_explicitPU3AS3VU7_Atomicll12memory_order(ptr addrspace(3) %a, i64 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i64 @_Z28_cl_atomic_exchange_explicitPU3AS3VU7_Atomicll12memory_order(ptr addrspace(3) %a, i64 %b, i32 %c)
  ret i64 %call
}


declare i64 @_Z28_cl_atomic_exchange_explicitPU3AS1VU7_Atomicll12memory_order12memory_scope(ptr addrspace(1), i64, i32, i32) local_unnamed_addr #0

define spir_func i64 @_Z24atomic_exchange_explicitPU3AS1VU7_Atomicll12memory_order12memory_scope(ptr addrspace(1) %a, i64 %b, i32 %c, i32 %d) local_unnamed_addr #0 {
  %call = tail call i64 @_Z28_cl_atomic_exchange_explicitPU3AS1VU7_Atomicll12memory_order12memory_scope(ptr addrspace(1) %a, i64 %b, i32 %c, i32 %d)
  ret i64 %call
}


declare i64 @_Z28_cl_atomic_exchange_explicitPU3AS3VU7_Atomicll12memory_order12memory_scope(ptr addrspace(3), i64, i32, i32) local_unnamed_addr #0

define spir_func i64 @_Z24atomic_exchange_explicitPU3AS3VU7_Atomicll12memory_order12memory_scope(ptr addrspace(3) %a, i64 %b, i32 %c, i32 %d) local_unnamed_addr #0 {
  %call = tail call i64 @_Z28_cl_atomic_exchange_explicitPU3AS3VU7_Atomicll12memory_order12memory_scope(ptr addrspace(3) %a, i64 %b, i32 %c, i32 %d)
  ret i64 %call
}


declare void @_Z15_cl_atomic_initPU3AS1VU7_Atomicmm(ptr addrspace(1), i64) local_unnamed_addr #0

define spir_func void @_Z11atomic_initPU3AS1VU7_Atomicmm(ptr addrspace(1) %a, i64 %b) local_unnamed_addr #0 {
  tail call void @_Z15_cl_atomic_initPU3AS1VU7_Atomicmm(ptr addrspace(1) %a, i64 %b)
  ret void
}


declare void @_Z15_cl_atomic_initPU3AS3VU7_Atomicmm(ptr addrspace(3), i64) local_unnamed_addr #0

define spir_func void @_Z11atomic_initPU3AS3VU7_Atomicmm(ptr addrspace(3) %a, i64 %b) local_unnamed_addr #0 {
  tail call void @_Z15_cl_atomic_initPU3AS3VU7_Atomicmm(ptr addrspace(3) %a, i64 %b)
  ret void
}


declare i64 @_Z34_cl_atomic_compare_exchange_strongPU3AS1VU7_AtomicmPU3AS1mm(ptr addrspace(1), ptr addrspace(1), i64) local_unnamed_addr #0

define spir_func i64 @_Z30atomic_compare_exchange_strongPU3AS1VU7_AtomicmPU3AS1mm(ptr addrspace(1) %a, ptr addrspace(1) %b, i64 %c) local_unnamed_addr #0 {
  %call = tail call i64 @_Z34_cl_atomic_compare_exchange_strongPU3AS1VU7_AtomicmPU3AS1mm(ptr addrspace(1) %a, ptr addrspace(1) %b, i64 %c)
  ret i64 %call
}


declare i64 @_Z34_cl_atomic_compare_exchange_strongPU3AS3VU7_AtomicmPU3AS3mm(ptr addrspace(3), ptr addrspace(3), i64) local_unnamed_addr #0

define spir_func i64 @_Z30atomic_compare_exchange_strongPU3AS3VU7_AtomicmPU3AS3mm(ptr addrspace(3) %a, ptr addrspace(3) %b, i64 %c) local_unnamed_addr #0 {
  %call = tail call i64 @_Z34_cl_atomic_compare_exchange_strongPU3AS3VU7_AtomicmPU3AS3mm(ptr addrspace(3) %a, ptr addrspace(3) %b, i64 %c)
  ret i64 %call
}


declare i64 @_Z43_cl_atomic_compare_exchange_strong_explicitPU3AS1VU7_AtomicmPU3AS1mm12memory_order12memory_order(ptr addrspace(1), ptr addrspace(1), i64, i32, i32) local_unnamed_addr #0

define spir_func i64 @_Z39atomic_compare_exchange_strong_explicitPU3AS1VU7_AtomicmPU3AS1mm12memory_order12memory_order(ptr addrspace(1) %a, ptr addrspace(1) %b, i64 %c, i32 %d, i32 %e) local_unnamed_addr #0 {
  %call = tail call i64 @_Z43_cl_atomic_compare_exchange_strong_explicitPU3AS1VU7_AtomicmPU3AS1mm12memory_order12memory_order(ptr addrspace(1) %a, ptr addrspace(1) %b, i64 %c, i32 %d, i32 %e)
  ret i64 %call
}


declare i64 @_Z43_cl_atomic_compare_exchange_strong_explicitPU3AS3VU7_AtomicmPU3AS3mm12memory_order12memory_order(ptr addrspace(3), ptr addrspace(3), i64, i32, i32) local_unnamed_addr #0

define spir_func i64 @_Z39atomic_compare_exchange_strong_explicitPU3AS3VU7_AtomicmPU3AS3mm12memory_order12memory_order(ptr addrspace(3) %a, ptr addrspace(3) %b, i64 %c, i32 %d, i32 %e) local_unnamed_addr #0 {
  %call = tail call i64 @_Z43_cl_atomic_compare_exchange_strong_explicitPU3AS3VU7_AtomicmPU3AS3mm12memory_order12memory_order(ptr addrspace(3) %a, ptr addrspace(3) %b, i64 %c, i32 %d, i32 %e)
  ret i64 %call
}


declare i64 @_Z43_cl_atomic_compare_exchange_strong_explicitPU3AS1VU7_AtomicmPU3AS1mm12memory_order12memory_order12memory_scope(ptr addrspace(1), ptr addrspace(1), i64, i32, i32, i32) local_unnamed_addr #0

define spir_func i64 @_Z39atomic_compare_exchange_strong_explicitPU3AS1VU7_AtomicmPU3AS1mm12memory_order12memory_order12memory_scope(ptr addrspace(1) %a, ptr addrspace(1) %b, i64 %c, i32 %d, i32 %e, i32 %f) local_unnamed_addr #0 {
  %call = tail call i64 @_Z43_cl_atomic_compare_exchange_strong_explicitPU3AS1VU7_AtomicmPU3AS1mm12memory_order12memory_order12memory_scope(ptr addrspace(1) %a, ptr addrspace(1) %b, i64 %c, i32 %d, i32 %e, i32 %f)
  ret i64 %call
}


declare i64 @_Z43_cl_atomic_compare_exchange_strong_explicitPU3AS3VU7_AtomicmPU3AS3mm12memory_order12memory_order12memory_scope(ptr addrspace(3), ptr addrspace(3), i64, i32, i32, i32) local_unnamed_addr #0

define spir_func i64 @_Z39atomic_compare_exchange_strong_explicitPU3AS3VU7_AtomicmPU3AS3mm12memory_order12memory_order12memory_scope(ptr addrspace(3) %a, ptr addrspace(3) %b, i64 %c, i32 %d, i32 %e, i32 %f) local_unnamed_addr #0 {
  %call = tail call i64 @_Z43_cl_atomic_compare_exchange_strong_explicitPU3AS3VU7_AtomicmPU3AS3mm12memory_order12memory_order12memory_scope(ptr addrspace(3) %a, ptr addrspace(3) %b, i64 %c, i32 %d, i32 %e, i32 %f)
  ret i64 %call
}


declare i64 @_Z15_cl_atomic_loadPU3AS1VU7_Atomicm(ptr addrspace(1)) local_unnamed_addr #0

define spir_func i64 @_Z11atomic_loadPU3AS1VU7_Atomicm(ptr addrspace(1) %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z15_cl_atomic_loadPU3AS1VU7_Atomicm(ptr addrspace(1) %a)
  ret i64 %call
}


declare i64 @_Z15_cl_atomic_loadPU3AS3VU7_Atomicm(ptr addrspace(3)) local_unnamed_addr #0

define spir_func i64 @_Z11atomic_loadPU3AS3VU7_Atomicm(ptr addrspace(3) %a) local_unnamed_addr #0 {
  %call = tail call i64 @_Z15_cl_atomic_loadPU3AS3VU7_Atomicm(ptr addrspace(3) %a)
  ret i64 %call
}


declare i64 @_Z24_cl_atomic_load_explicitPU3AS1VU7_Atomicm12memory_order(ptr addrspace(1), i32) local_unnamed_addr #0

define spir_func i64 @_Z20atomic_load_explicitPU3AS1VU7_Atomicm12memory_order(ptr addrspace(1) %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z24_cl_atomic_load_explicitPU3AS1VU7_Atomicm12memory_order(ptr addrspace(1) %a, i32 %b)
  ret i64 %call
}


declare i64 @_Z24_cl_atomic_load_explicitPU3AS3VU7_Atomicm12memory_order(ptr addrspace(3), i32) local_unnamed_addr #0

define spir_func i64 @_Z20atomic_load_explicitPU3AS3VU7_Atomicm12memory_order(ptr addrspace(3) %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z24_cl_atomic_load_explicitPU3AS3VU7_Atomicm12memory_order(ptr addrspace(3) %a, i32 %b)
  ret i64 %call
}


declare i64 @_Z24_cl_atomic_load_explicitPU3AS1VU7_Atomicm12memory_order12memory_scope(ptr addrspace(1), i32, i32) local_unnamed_addr #0

define spir_func i64 @_Z20atomic_load_explicitPU3AS1VU7_Atomicm12memory_order12memory_scope(ptr addrspace(1) %a, i32 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i64 @_Z24_cl_atomic_load_explicitPU3AS1VU7_Atomicm12memory_order12memory_scope(ptr addrspace(1) %a, i32 %b, i32 %c)
  ret i64 %call
}


declare i64 @_Z24_cl_atomic_load_explicitPU3AS3VU7_Atomicm12memory_order12memory_scope(ptr addrspace(3), i32, i32) local_unnamed_addr #0

define spir_func i64 @_Z20atomic_load_explicitPU3AS3VU7_Atomicm12memory_order12memory_scope(ptr addrspace(3) %a, i32 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i64 @_Z24_cl_atomic_load_explicitPU3AS3VU7_Atomicm12memory_order12memory_scope(ptr addrspace(3) %a, i32 %b, i32 %c)
  ret i64 %call
}


declare i64 @_Z16_cl_atomic_storePU3AS1VU7_Atomicmm(ptr addrspace(1), i64) local_unnamed_addr #0

define spir_func i64 @_Z12atomic_storePU3AS1VU7_Atomicmm(ptr addrspace(1) %a, i64 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z16_cl_atomic_storePU3AS1VU7_Atomicmm(ptr addrspace(1) %a, i64 %b)
  ret i64 %call
}


declare i64 @_Z16_cl_atomic_storePU3AS3VU7_Atomicmm(ptr addrspace(3), i64) local_unnamed_addr #0

define spir_func i64 @_Z12atomic_storePU3AS3VU7_Atomicmm(ptr addrspace(3) %a, i64 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z16_cl_atomic_storePU3AS3VU7_Atomicmm(ptr addrspace(3) %a, i64 %b)
  ret i64 %call
}


declare i64 @_Z25_cl_atomic_store_explicitPU3AS1VU7_Atomicmm12memory_order(ptr addrspace(1), i64, i32) local_unnamed_addr #0

define spir_func i64 @_Z21atomic_store_explicitPU3AS1VU7_Atomicmm12memory_order(ptr addrspace(1) %a, i64 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i64 @_Z25_cl_atomic_store_explicitPU3AS1VU7_Atomicmm12memory_order(ptr addrspace(1) %a, i64 %b, i32 %c)
  ret i64 %call
}


declare i64 @_Z25_cl_atomic_store_explicitPU3AS3VU7_Atomicmm12memory_order(ptr addrspace(3), i64, i32) local_unnamed_addr #0

define spir_func i64 @_Z21atomic_store_explicitPU3AS3VU7_Atomicmm12memory_order(ptr addrspace(3) %a, i64 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i64 @_Z25_cl_atomic_store_explicitPU3AS3VU7_Atomicmm12memory_order(ptr addrspace(3) %a, i64 %b, i32 %c)
  ret i64 %call
}


declare i64 @_Z25_cl_atomic_store_explicitPU3AS1VU7_Atomicmm12memory_order12memory_scope(ptr addrspace(1), i64, i32, i32) local_unnamed_addr #0

define spir_func i64 @_Z21atomic_store_explicitPU3AS1VU7_Atomicmm12memory_order12memory_scope(ptr addrspace(1) %a, i64 %b, i32 %c, i32 %d) local_unnamed_addr #0 {
  %call = tail call i64 @_Z25_cl_atomic_store_explicitPU3AS1VU7_Atomicmm12memory_order12memory_scope(ptr addrspace(1) %a, i64 %b, i32 %c, i32 %d)
  ret i64 %call
}


declare i64 @_Z25_cl_atomic_store_explicitPU3AS3VU7_Atomicmm12memory_order12memory_scope(ptr addrspace(3), i64, i32, i32) local_unnamed_addr #0

define spir_func i64 @_Z21atomic_store_explicitPU3AS3VU7_Atomicmm12memory_order12memory_scope(ptr addrspace(3) %a, i64 %b, i32 %c, i32 %d) local_unnamed_addr #0 {
  %call = tail call i64 @_Z25_cl_atomic_store_explicitPU3AS3VU7_Atomicmm12memory_order12memory_scope(ptr addrspace(3) %a, i64 %b, i32 %c, i32 %d)
  ret i64 %call
}


declare i64 @_Z32_cl_atomic_compare_exchange_weakPU3AS1VU7_AtomicmPU3AS1mm(ptr addrspace(1), ptr addrspace(1), i64) local_unnamed_addr #0

define spir_func i64 @_Z28atomic_compare_exchange_weakPU3AS1VU7_AtomicmPU3AS1mm(ptr addrspace(1) %a, ptr addrspace(1) %b, i64 %c) local_unnamed_addr #0 {
  %call = tail call i64 @_Z32_cl_atomic_compare_exchange_weakPU3AS1VU7_AtomicmPU3AS1mm(ptr addrspace(1) %a, ptr addrspace(1) %b, i64 %c)
  ret i64 %call
}


declare i64 @_Z32_cl_atomic_compare_exchange_weakPU3AS3VU7_AtomicmPU3AS3mm(ptr addrspace(3), ptr addrspace(3), i64) local_unnamed_addr #0

define spir_func i64 @_Z28atomic_compare_exchange_weakPU3AS3VU7_AtomicmPU3AS3mm(ptr addrspace(3) %a, ptr addrspace(3) %b, i64 %c) local_unnamed_addr #0 {
  %call = tail call i64 @_Z32_cl_atomic_compare_exchange_weakPU3AS3VU7_AtomicmPU3AS3mm(ptr addrspace(3) %a, ptr addrspace(3) %b, i64 %c)
  ret i64 %call
}


declare i64 @_Z41_cl_atomic_compare_exchange_weak_explicitPU3AS1VU7_AtomicmPU3AS1mm12memory_order12memory_order(ptr addrspace(1), ptr addrspace(1), i64, i32, i32) local_unnamed_addr #0

define spir_func i64 @_Z37atomic_compare_exchange_weak_explicitPU3AS1VU7_AtomicmPU3AS1mm12memory_order12memory_order(ptr addrspace(1) %a, ptr addrspace(1) %b, i64 %c, i32 %d, i32 %e) local_unnamed_addr #0 {
  %call = tail call i64 @_Z41_cl_atomic_compare_exchange_weak_explicitPU3AS1VU7_AtomicmPU3AS1mm12memory_order12memory_order(ptr addrspace(1) %a, ptr addrspace(1) %b, i64 %c, i32 %d, i32 %e)
  ret i64 %call
}


declare i64 @_Z41_cl_atomic_compare_exchange_weak_explicitPU3AS3VU7_AtomicmPU3AS3mm12memory_order12memory_order(ptr addrspace(3), ptr addrspace(3), i64, i32, i32) local_unnamed_addr #0

define spir_func i64 @_Z37atomic_compare_exchange_weak_explicitPU3AS3VU7_AtomicmPU3AS3mm12memory_order12memory_order(ptr addrspace(3) %a, ptr addrspace(3) %b, i64 %c, i32 %d, i32 %e) local_unnamed_addr #0 {
  %call = tail call i64 @_Z41_cl_atomic_compare_exchange_weak_explicitPU3AS3VU7_AtomicmPU3AS3mm12memory_order12memory_order(ptr addrspace(3) %a, ptr addrspace(3) %b, i64 %c, i32 %d, i32 %e)
  ret i64 %call
}


declare i64 @_Z41_cl_atomic_compare_exchange_weak_explicitPU3AS1VU7_AtomicmPU3AS1mm12memory_order12memory_order12memory_scope(ptr addrspace(1), ptr addrspace(1), i64, i32, i32, i32) local_unnamed_addr #0

define spir_func i64 @_Z37atomic_compare_exchange_weak_explicitPU3AS1VU7_AtomicmPU3AS1mm12memory_order12memory_order12memory_scope(ptr addrspace(1) %a, ptr addrspace(1) %b, i64 %c, i32 %d, i32 %e, i32 %f) local_unnamed_addr #0 {
  %call = tail call i64 @_Z41_cl_atomic_compare_exchange_weak_explicitPU3AS1VU7_AtomicmPU3AS1mm12memory_order12memory_order12memory_scope(ptr addrspace(1) %a, ptr addrspace(1) %b, i64 %c, i32 %d, i32 %e, i32 %f)
  ret i64 %call
}


declare i64 @_Z41_cl_atomic_compare_exchange_weak_explicitPU3AS3VU7_AtomicmPU3AS3mm12memory_order12memory_order12memory_scope(ptr addrspace(3), ptr addrspace(3), i64, i32, i32, i32) local_unnamed_addr #0

define spir_func i64 @_Z37atomic_compare_exchange_weak_explicitPU3AS3VU7_AtomicmPU3AS3mm12memory_order12memory_order12memory_scope(ptr addrspace(3) %a, ptr addrspace(3) %b, i64 %c, i32 %d, i32 %e, i32 %f) local_unnamed_addr #0 {
  %call = tail call i64 @_Z41_cl_atomic_compare_exchange_weak_explicitPU3AS3VU7_AtomicmPU3AS3mm12memory_order12memory_order12memory_scope(ptr addrspace(3) %a, ptr addrspace(3) %b, i64 %c, i32 %d, i32 %e, i32 %f)
  ret i64 %call
}


declare i64 @_Z19_cl_atomic_exchangePU3AS1VU7_Atomicmm(ptr addrspace(1), i64) local_unnamed_addr #0

define spir_func i64 @_Z15atomic_exchangePU3AS1VU7_Atomicmm(ptr addrspace(1) %a, i64 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z19_cl_atomic_exchangePU3AS1VU7_Atomicmm(ptr addrspace(1) %a, i64 %b)
  ret i64 %call
}


declare i64 @_Z19_cl_atomic_exchangePU3AS3VU7_Atomicmm(ptr addrspace(3), i64) local_unnamed_addr #0

define spir_func i64 @_Z15atomic_exchangePU3AS3VU7_Atomicmm(ptr addrspace(3) %a, i64 %b) local_unnamed_addr #0 {
  %call = tail call i64 @_Z19_cl_atomic_exchangePU3AS3VU7_Atomicmm(ptr addrspace(3) %a, i64 %b)
  ret i64 %call
}


declare i64 @_Z28_cl_atomic_exchange_explicitPU3AS1VU7_Atomicmm12memory_order(ptr addrspace(1), i64, i32) local_unnamed_addr #0

define spir_func i64 @_Z24atomic_exchange_explicitPU3AS1VU7_Atomicmm12memory_order(ptr addrspace(1) %a, i64 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i64 @_Z28_cl_atomic_exchange_explicitPU3AS1VU7_Atomicmm12memory_order(ptr addrspace(1) %a, i64 %b, i32 %c)
  ret i64 %call
}


declare i64 @_Z28_cl_atomic_exchange_explicitPU3AS3VU7_Atomicmm12memory_order(ptr addrspace(3), i64, i32) local_unnamed_addr #0

define spir_func i64 @_Z24atomic_exchange_explicitPU3AS3VU7_Atomicmm12memory_order(ptr addrspace(3) %a, i64 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i64 @_Z28_cl_atomic_exchange_explicitPU3AS3VU7_Atomicmm12memory_order(ptr addrspace(3) %a, i64 %b, i32 %c)
  ret i64 %call
}


declare i64 @_Z28_cl_atomic_exchange_explicitPU3AS1VU7_Atomicmm12memory_order12memory_scope(ptr addrspace(1), i64, i32, i32) local_unnamed_addr #0

define spir_func i64 @_Z24atomic_exchange_explicitPU3AS1VU7_Atomicmm12memory_order12memory_scope(ptr addrspace(1) %a, i64 %b, i32 %c, i32 %d) local_unnamed_addr #0 {
  %call = tail call i64 @_Z28_cl_atomic_exchange_explicitPU3AS1VU7_Atomicmm12memory_order12memory_scope(ptr addrspace(1) %a, i64 %b, i32 %c, i32 %d)
  ret i64 %call
}


declare i64 @_Z28_cl_atomic_exchange_explicitPU3AS3VU7_Atomicmm12memory_order12memory_scope(ptr addrspace(3), i64, i32, i32) local_unnamed_addr #0

define spir_func i64 @_Z24atomic_exchange_explicitPU3AS3VU7_Atomicmm12memory_order12memory_scope(ptr addrspace(3) %a, i64 %b, i32 %c, i32 %d) local_unnamed_addr #0 {
  %call = tail call i64 @_Z28_cl_atomic_exchange_explicitPU3AS3VU7_Atomicmm12memory_order12memory_scope(ptr addrspace(3) %a, i64 %b, i32 %c, i32 %d)
  ret i64 %call
}


declare void @_Z15_cl_atomic_initPU3AS1VU7_Atomicff(ptr addrspace(1), float) local_unnamed_addr #0

define spir_func void @_Z11atomic_initPU3AS1VU7_Atomicff(ptr addrspace(1) %a, float %b) local_unnamed_addr #0 {
  tail call void @_Z15_cl_atomic_initPU3AS1VU7_Atomicff(ptr addrspace(1) %a, float %b)
  ret void
}


declare void @_Z15_cl_atomic_initPU3AS3VU7_Atomicff(ptr addrspace(3), float) local_unnamed_addr #0

define spir_func void @_Z11atomic_initPU3AS3VU7_Atomicff(ptr addrspace(3) %a, float %b) local_unnamed_addr #0 {
  tail call void @_Z15_cl_atomic_initPU3AS3VU7_Atomicff(ptr addrspace(3) %a, float %b)
  ret void
}


declare float @_Z34_cl_atomic_compare_exchange_strongPU3AS1VU7_AtomicfPU3AS1ff(ptr addrspace(1), ptr addrspace(1), float) local_unnamed_addr #0

define spir_func float @_Z30atomic_compare_exchange_strongPU3AS1VU7_AtomicfPU3AS1ff(ptr addrspace(1) %a, ptr addrspace(1) %b, float %c) local_unnamed_addr #0 {
  %call = tail call float @_Z34_cl_atomic_compare_exchange_strongPU3AS1VU7_AtomicfPU3AS1ff(ptr addrspace(1) %a, ptr addrspace(1) %b, float %c)
  ret float %call
}


declare float @_Z34_cl_atomic_compare_exchange_strongPU3AS3VU7_AtomicfPU3AS3ff(ptr addrspace(3), ptr addrspace(3), float) local_unnamed_addr #0

define spir_func float @_Z30atomic_compare_exchange_strongPU3AS3VU7_AtomicfPU3AS3ff(ptr addrspace(3) %a, ptr addrspace(3) %b, float %c) local_unnamed_addr #0 {
  %call = tail call float @_Z34_cl_atomic_compare_exchange_strongPU3AS3VU7_AtomicfPU3AS3ff(ptr addrspace(3) %a, ptr addrspace(3) %b, float %c)
  ret float %call
}


declare float @_Z43_cl_atomic_compare_exchange_strong_explicitPU3AS1VU7_AtomicfPU3AS1ff12memory_order12memory_order(ptr addrspace(1), ptr addrspace(1), float, i32, i32) local_unnamed_addr #0

define spir_func float @_Z39atomic_compare_exchange_strong_explicitPU3AS1VU7_AtomicfPU3AS1ff12memory_order12memory_order(ptr addrspace(1) %a, ptr addrspace(1) %b, float %c, i32 %d, i32 %e) local_unnamed_addr #0 {
  %call = tail call float @_Z43_cl_atomic_compare_exchange_strong_explicitPU3AS1VU7_AtomicfPU3AS1ff12memory_order12memory_order(ptr addrspace(1) %a, ptr addrspace(1) %b, float %c, i32 %d, i32 %e)
  ret float %call
}


declare float @_Z43_cl_atomic_compare_exchange_strong_explicitPU3AS3VU7_AtomicfPU3AS3ff12memory_order12memory_order(ptr addrspace(3), ptr addrspace(3), float, i32, i32) local_unnamed_addr #0

define spir_func float @_Z39atomic_compare_exchange_strong_explicitPU3AS3VU7_AtomicfPU3AS3ff12memory_order12memory_order(ptr addrspace(3) %a, ptr addrspace(3) %b, float %c, i32 %d, i32 %e) local_unnamed_addr #0 {
  %call = tail call float @_Z43_cl_atomic_compare_exchange_strong_explicitPU3AS3VU7_AtomicfPU3AS3ff12memory_order12memory_order(ptr addrspace(3) %a, ptr addrspace(3) %b, float %c, i32 %d, i32 %e)
  ret float %call
}


declare float @_Z43_cl_atomic_compare_exchange_strong_explicitPU3AS1VU7_AtomicfPU3AS1ff12memory_order12memory_order12memory_scope(ptr addrspace(1), ptr addrspace(1), float, i32, i32, i32) local_unnamed_addr #0

define spir_func float @_Z39atomic_compare_exchange_strong_explicitPU3AS1VU7_AtomicfPU3AS1ff12memory_order12memory_order12memory_scope(ptr addrspace(1) %a, ptr addrspace(1) %b, float %c, i32 %d, i32 %e, i32 %f) local_unnamed_addr #0 {
  %call = tail call float @_Z43_cl_atomic_compare_exchange_strong_explicitPU3AS1VU7_AtomicfPU3AS1ff12memory_order12memory_order12memory_scope(ptr addrspace(1) %a, ptr addrspace(1) %b, float %c, i32 %d, i32 %e, i32 %f)
  ret float %call
}


declare float @_Z43_cl_atomic_compare_exchange_strong_explicitPU3AS3VU7_AtomicfPU3AS3ff12memory_order12memory_order12memory_scope(ptr addrspace(3), ptr addrspace(3), float, i32, i32, i32) local_unnamed_addr #0

define spir_func float @_Z39atomic_compare_exchange_strong_explicitPU3AS3VU7_AtomicfPU3AS3ff12memory_order12memory_order12memory_scope(ptr addrspace(3) %a, ptr addrspace(3) %b, float %c, i32 %d, i32 %e, i32 %f) local_unnamed_addr #0 {
  %call = tail call float @_Z43_cl_atomic_compare_exchange_strong_explicitPU3AS3VU7_AtomicfPU3AS3ff12memory_order12memory_order12memory_scope(ptr addrspace(3) %a, ptr addrspace(3) %b, float %c, i32 %d, i32 %e, i32 %f)
  ret float %call
}


declare float @_Z15_cl_atomic_loadPU3AS1VU7_Atomicf(ptr addrspace(1)) local_unnamed_addr #0

define spir_func float @_Z11atomic_loadPU3AS1VU7_Atomicf(ptr addrspace(1) %a) local_unnamed_addr #0 {
  %call = tail call float @_Z15_cl_atomic_loadPU3AS1VU7_Atomicf(ptr addrspace(1) %a)
  ret float %call
}


declare float @_Z15_cl_atomic_loadPU3AS3VU7_Atomicf(ptr addrspace(3)) local_unnamed_addr #0

define spir_func float @_Z11atomic_loadPU3AS3VU7_Atomicf(ptr addrspace(3) %a) local_unnamed_addr #0 {
  %call = tail call float @_Z15_cl_atomic_loadPU3AS3VU7_Atomicf(ptr addrspace(3) %a)
  ret float %call
}


declare float @_Z24_cl_atomic_load_explicitPU3AS1VU7_Atomicf12memory_order(ptr addrspace(1), i32) local_unnamed_addr #0

define spir_func float @_Z20atomic_load_explicitPU3AS1VU7_Atomicf12memory_order(ptr addrspace(1) %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call float @_Z24_cl_atomic_load_explicitPU3AS1VU7_Atomicf12memory_order(ptr addrspace(1) %a, i32 %b)
  ret float %call
}


declare float @_Z24_cl_atomic_load_explicitPU3AS3VU7_Atomicf12memory_order(ptr addrspace(3), i32) local_unnamed_addr #0

define spir_func float @_Z20atomic_load_explicitPU3AS3VU7_Atomicf12memory_order(ptr addrspace(3) %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call float @_Z24_cl_atomic_load_explicitPU3AS3VU7_Atomicf12memory_order(ptr addrspace(3) %a, i32 %b)
  ret float %call
}


declare float @_Z24_cl_atomic_load_explicitPU3AS1VU7_Atomicf12memory_order12memory_scope(ptr addrspace(1), i32, i32) local_unnamed_addr #0

define spir_func float @_Z20atomic_load_explicitPU3AS1VU7_Atomicf12memory_order12memory_scope(ptr addrspace(1) %a, i32 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call float @_Z24_cl_atomic_load_explicitPU3AS1VU7_Atomicf12memory_order12memory_scope(ptr addrspace(1) %a, i32 %b, i32 %c)
  ret float %call
}


declare float @_Z24_cl_atomic_load_explicitPU3AS3VU7_Atomicf12memory_order12memory_scope(ptr addrspace(3), i32, i32) local_unnamed_addr #0

define spir_func float @_Z20atomic_load_explicitPU3AS3VU7_Atomicf12memory_order12memory_scope(ptr addrspace(3) %a, i32 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call float @_Z24_cl_atomic_load_explicitPU3AS3VU7_Atomicf12memory_order12memory_scope(ptr addrspace(3) %a, i32 %b, i32 %c)
  ret float %call
}


declare float @_Z16_cl_atomic_storePU3AS1VU7_Atomicff(ptr addrspace(1), float) local_unnamed_addr #0

define spir_func float @_Z12atomic_storePU3AS1VU7_Atomicff(ptr addrspace(1) %a, float %b) local_unnamed_addr #0 {
  %call = tail call float @_Z16_cl_atomic_storePU3AS1VU7_Atomicff(ptr addrspace(1) %a, float %b)
  ret float %call
}


declare float @_Z16_cl_atomic_storePU3AS3VU7_Atomicff(ptr addrspace(3), float) local_unnamed_addr #0

define spir_func float @_Z12atomic_storePU3AS3VU7_Atomicff(ptr addrspace(3) %a, float %b) local_unnamed_addr #0 {
  %call = tail call float @_Z16_cl_atomic_storePU3AS3VU7_Atomicff(ptr addrspace(3) %a, float %b)
  ret float %call
}


declare float @_Z25_cl_atomic_store_explicitPU3AS1VU7_Atomicff12memory_order(ptr addrspace(1), float, i32) local_unnamed_addr #0

define spir_func float @_Z21atomic_store_explicitPU3AS1VU7_Atomicff12memory_order(ptr addrspace(1) %a, float %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call float @_Z25_cl_atomic_store_explicitPU3AS1VU7_Atomicff12memory_order(ptr addrspace(1) %a, float %b, i32 %c)
  ret float %call
}


declare float @_Z25_cl_atomic_store_explicitPU3AS3VU7_Atomicff12memory_order(ptr addrspace(3), float, i32) local_unnamed_addr #0

define spir_func float @_Z21atomic_store_explicitPU3AS3VU7_Atomicff12memory_order(ptr addrspace(3) %a, float %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call float @_Z25_cl_atomic_store_explicitPU3AS3VU7_Atomicff12memory_order(ptr addrspace(3) %a, float %b, i32 %c)
  ret float %call
}


declare float @_Z25_cl_atomic_store_explicitPU3AS1VU7_Atomicff12memory_order12memory_scope(ptr addrspace(1), float, i32, i32) local_unnamed_addr #0

define spir_func float @_Z21atomic_store_explicitPU3AS1VU7_Atomicff12memory_order12memory_scope(ptr addrspace(1) %a, float %b, i32 %c, i32 %d) local_unnamed_addr #0 {
  %call = tail call float @_Z25_cl_atomic_store_explicitPU3AS1VU7_Atomicff12memory_order12memory_scope(ptr addrspace(1) %a, float %b, i32 %c, i32 %d)
  ret float %call
}


declare float @_Z25_cl_atomic_store_explicitPU3AS3VU7_Atomicff12memory_order12memory_scope(ptr addrspace(3), float, i32, i32) local_unnamed_addr #0

define spir_func float @_Z21atomic_store_explicitPU3AS3VU7_Atomicff12memory_order12memory_scope(ptr addrspace(3) %a, float %b, i32 %c, i32 %d) local_unnamed_addr #0 {
  %call = tail call float @_Z25_cl_atomic_store_explicitPU3AS3VU7_Atomicff12memory_order12memory_scope(ptr addrspace(3) %a, float %b, i32 %c, i32 %d)
  ret float %call
}


declare float @_Z32_cl_atomic_compare_exchange_weakPU3AS1VU7_AtomicfPU3AS1ff(ptr addrspace(1), ptr addrspace(1), float) local_unnamed_addr #0

define spir_func float @_Z28atomic_compare_exchange_weakPU3AS1VU7_AtomicfPU3AS1ff(ptr addrspace(1) %a, ptr addrspace(1) %b, float %c) local_unnamed_addr #0 {
  %call = tail call float @_Z32_cl_atomic_compare_exchange_weakPU3AS1VU7_AtomicfPU3AS1ff(ptr addrspace(1) %a, ptr addrspace(1) %b, float %c)
  ret float %call
}


declare float @_Z32_cl_atomic_compare_exchange_weakPU3AS3VU7_AtomicfPU3AS3ff(ptr addrspace(3), ptr addrspace(3), float) local_unnamed_addr #0

define spir_func float @_Z28atomic_compare_exchange_weakPU3AS3VU7_AtomicfPU3AS3ff(ptr addrspace(3) %a, ptr addrspace(3) %b, float %c) local_unnamed_addr #0 {
  %call = tail call float @_Z32_cl_atomic_compare_exchange_weakPU3AS3VU7_AtomicfPU3AS3ff(ptr addrspace(3) %a, ptr addrspace(3) %b, float %c)
  ret float %call
}


declare float @_Z41_cl_atomic_compare_exchange_weak_explicitPU3AS1VU7_AtomicfPU3AS1ff12memory_order12memory_order(ptr addrspace(1), ptr addrspace(1), float, i32, i32) local_unnamed_addr #0

define spir_func float @_Z37atomic_compare_exchange_weak_explicitPU3AS1VU7_AtomicfPU3AS1ff12memory_order12memory_order(ptr addrspace(1) %a, ptr addrspace(1) %b, float %c, i32 %d, i32 %e) local_unnamed_addr #0 {
  %call = tail call float @_Z41_cl_atomic_compare_exchange_weak_explicitPU3AS1VU7_AtomicfPU3AS1ff12memory_order12memory_order(ptr addrspace(1) %a, ptr addrspace(1) %b, float %c, i32 %d, i32 %e)
  ret float %call
}


declare float @_Z41_cl_atomic_compare_exchange_weak_explicitPU3AS3VU7_AtomicfPU3AS3ff12memory_order12memory_order(ptr addrspace(3), ptr addrspace(3), float, i32, i32) local_unnamed_addr #0

define spir_func float @_Z37atomic_compare_exchange_weak_explicitPU3AS3VU7_AtomicfPU3AS3ff12memory_order12memory_order(ptr addrspace(3) %a, ptr addrspace(3) %b, float %c, i32 %d, i32 %e) local_unnamed_addr #0 {
  %call = tail call float @_Z41_cl_atomic_compare_exchange_weak_explicitPU3AS3VU7_AtomicfPU3AS3ff12memory_order12memory_order(ptr addrspace(3) %a, ptr addrspace(3) %b, float %c, i32 %d, i32 %e)
  ret float %call
}


declare float @_Z41_cl_atomic_compare_exchange_weak_explicitPU3AS1VU7_AtomicfPU3AS1ff12memory_order12memory_order12memory_scope(ptr addrspace(1), ptr addrspace(1), float, i32, i32, i32) local_unnamed_addr #0

define spir_func float @_Z37atomic_compare_exchange_weak_explicitPU3AS1VU7_AtomicfPU3AS1ff12memory_order12memory_order12memory_scope(ptr addrspace(1) %a, ptr addrspace(1) %b, float %c, i32 %d, i32 %e, i32 %f) local_unnamed_addr #0 {
  %call = tail call float @_Z41_cl_atomic_compare_exchange_weak_explicitPU3AS1VU7_AtomicfPU3AS1ff12memory_order12memory_order12memory_scope(ptr addrspace(1) %a, ptr addrspace(1) %b, float %c, i32 %d, i32 %e, i32 %f)
  ret float %call
}


declare float @_Z41_cl_atomic_compare_exchange_weak_explicitPU3AS3VU7_AtomicfPU3AS3ff12memory_order12memory_order12memory_scope(ptr addrspace(3), ptr addrspace(3), float, i32, i32, i32) local_unnamed_addr #0

define spir_func float @_Z37atomic_compare_exchange_weak_explicitPU3AS3VU7_AtomicfPU3AS3ff12memory_order12memory_order12memory_scope(ptr addrspace(3) %a, ptr addrspace(3) %b, float %c, i32 %d, i32 %e, i32 %f) local_unnamed_addr #0 {
  %call = tail call float @_Z41_cl_atomic_compare_exchange_weak_explicitPU3AS3VU7_AtomicfPU3AS3ff12memory_order12memory_order12memory_scope(ptr addrspace(3) %a, ptr addrspace(3) %b, float %c, i32 %d, i32 %e, i32 %f)
  ret float %call
}


declare float @_Z19_cl_atomic_exchangePU3AS1VU7_Atomicff(ptr addrspace(1), float) local_unnamed_addr #0

define spir_func float @_Z15atomic_exchangePU3AS1VU7_Atomicff(ptr addrspace(1) %a, float %b) local_unnamed_addr #0 {
  %call = tail call float @_Z19_cl_atomic_exchangePU3AS1VU7_Atomicff(ptr addrspace(1) %a, float %b)
  ret float %call
}


declare float @_Z19_cl_atomic_exchangePU3AS3VU7_Atomicff(ptr addrspace(3), float) local_unnamed_addr #0

define spir_func float @_Z15atomic_exchangePU3AS3VU7_Atomicff(ptr addrspace(3) %a, float %b) local_unnamed_addr #0 {
  %call = tail call float @_Z19_cl_atomic_exchangePU3AS3VU7_Atomicff(ptr addrspace(3) %a, float %b)
  ret float %call
}


declare float @_Z28_cl_atomic_exchange_explicitPU3AS1VU7_Atomicff12memory_order(ptr addrspace(1), float, i32) local_unnamed_addr #0

define spir_func float @_Z24atomic_exchange_explicitPU3AS1VU7_Atomicff12memory_order(ptr addrspace(1) %a, float %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call float @_Z28_cl_atomic_exchange_explicitPU3AS1VU7_Atomicff12memory_order(ptr addrspace(1) %a, float %b, i32 %c)
  ret float %call
}


declare float @_Z28_cl_atomic_exchange_explicitPU3AS3VU7_Atomicff12memory_order(ptr addrspace(3), float, i32) local_unnamed_addr #0

define spir_func float @_Z24atomic_exchange_explicitPU3AS3VU7_Atomicff12memory_order(ptr addrspace(3) %a, float %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call float @_Z28_cl_atomic_exchange_explicitPU3AS3VU7_Atomicff12memory_order(ptr addrspace(3) %a, float %b, i32 %c)
  ret float %call
}


declare float @_Z28_cl_atomic_exchange_explicitPU3AS1VU7_Atomicff12memory_order12memory_scope(ptr addrspace(1), float, i32, i32) local_unnamed_addr #0

define spir_func float @_Z24atomic_exchange_explicitPU3AS1VU7_Atomicff12memory_order12memory_scope(ptr addrspace(1) %a, float %b, i32 %c, i32 %d) local_unnamed_addr #0 {
  %call = tail call float @_Z28_cl_atomic_exchange_explicitPU3AS1VU7_Atomicff12memory_order12memory_scope(ptr addrspace(1) %a, float %b, i32 %c, i32 %d)
  ret float %call
}


declare float @_Z28_cl_atomic_exchange_explicitPU3AS3VU7_Atomicff12memory_order12memory_scope(ptr addrspace(3), float, i32, i32) local_unnamed_addr #0

define spir_func float @_Z24atomic_exchange_explicitPU3AS3VU7_Atomicff12memory_order12memory_scope(ptr addrspace(3) %a, float %b, i32 %c, i32 %d) local_unnamed_addr #0 {
  %call = tail call float @_Z28_cl_atomic_exchange_explicitPU3AS3VU7_Atomicff12memory_order12memory_scope(ptr addrspace(3) %a, float %b, i32 %c, i32 %d)
  ret float %call
}


declare void @_Z15_cl_atomic_initPU3AS1VU7_Atomicdd(ptr addrspace(1), double) local_unnamed_addr #0

define spir_func void @_Z11atomic_initPU3AS1VU7_Atomicdd(ptr addrspace(1) %a, double %b) local_unnamed_addr #0 {
  tail call void @_Z15_cl_atomic_initPU3AS1VU7_Atomicdd(ptr addrspace(1) %a, double %b)
  ret void
}


declare void @_Z15_cl_atomic_initPU3AS3VU7_Atomicdd(ptr addrspace(3), double) local_unnamed_addr #0

define spir_func void @_Z11atomic_initPU3AS3VU7_Atomicdd(ptr addrspace(3) %a, double %b) local_unnamed_addr #0 {
  tail call void @_Z15_cl_atomic_initPU3AS3VU7_Atomicdd(ptr addrspace(3) %a, double %b)
  ret void
}


declare double @_Z34_cl_atomic_compare_exchange_strongPU3AS1VU7_AtomicdPU3AS1dd(ptr addrspace(1), ptr addrspace(1), double) local_unnamed_addr #0

define spir_func double @_Z30atomic_compare_exchange_strongPU3AS1VU7_AtomicdPU3AS1dd(ptr addrspace(1) %a, ptr addrspace(1) %b, double %c) local_unnamed_addr #0 {
  %call = tail call double @_Z34_cl_atomic_compare_exchange_strongPU3AS1VU7_AtomicdPU3AS1dd(ptr addrspace(1) %a, ptr addrspace(1) %b, double %c)
  ret double %call
}


declare double @_Z34_cl_atomic_compare_exchange_strongPU3AS3VU7_AtomicdPU3AS3dd(ptr addrspace(3), ptr addrspace(3), double) local_unnamed_addr #0

define spir_func double @_Z30atomic_compare_exchange_strongPU3AS3VU7_AtomicdPU3AS3dd(ptr addrspace(3) %a, ptr addrspace(3) %b, double %c) local_unnamed_addr #0 {
  %call = tail call double @_Z34_cl_atomic_compare_exchange_strongPU3AS3VU7_AtomicdPU3AS3dd(ptr addrspace(3) %a, ptr addrspace(3) %b, double %c)
  ret double %call
}


declare double @_Z43_cl_atomic_compare_exchange_strong_explicitPU3AS1VU7_AtomicdPU3AS1dd12memory_order12memory_order(ptr addrspace(1), ptr addrspace(1), double, i32, i32) local_unnamed_addr #0

define spir_func double @_Z39atomic_compare_exchange_strong_explicitPU3AS1VU7_AtomicdPU3AS1dd12memory_order12memory_order(ptr addrspace(1) %a, ptr addrspace(1) %b, double %c, i32 %d, i32 %e) local_unnamed_addr #0 {
  %call = tail call double @_Z43_cl_atomic_compare_exchange_strong_explicitPU3AS1VU7_AtomicdPU3AS1dd12memory_order12memory_order(ptr addrspace(1) %a, ptr addrspace(1) %b, double %c, i32 %d, i32 %e)
  ret double %call
}


declare double @_Z43_cl_atomic_compare_exchange_strong_explicitPU3AS3VU7_AtomicdPU3AS3dd12memory_order12memory_order(ptr addrspace(3), ptr addrspace(3), double, i32, i32) local_unnamed_addr #0

define spir_func double @_Z39atomic_compare_exchange_strong_explicitPU3AS3VU7_AtomicdPU3AS3dd12memory_order12memory_order(ptr addrspace(3) %a, ptr addrspace(3) %b, double %c, i32 %d, i32 %e) local_unnamed_addr #0 {
  %call = tail call double @_Z43_cl_atomic_compare_exchange_strong_explicitPU3AS3VU7_AtomicdPU3AS3dd12memory_order12memory_order(ptr addrspace(3) %a, ptr addrspace(3) %b, double %c, i32 %d, i32 %e)
  ret double %call
}


declare double @_Z43_cl_atomic_compare_exchange_strong_explicitPU3AS1VU7_AtomicdPU3AS1dd12memory_order12memory_order12memory_scope(ptr addrspace(1), ptr addrspace(1), double, i32, i32, i32) local_unnamed_addr #0

define spir_func double @_Z39atomic_compare_exchange_strong_explicitPU3AS1VU7_AtomicdPU3AS1dd12memory_order12memory_order12memory_scope(ptr addrspace(1) %a, ptr addrspace(1) %b, double %c, i32 %d, i32 %e, i32 %f) local_unnamed_addr #0 {
  %call = tail call double @_Z43_cl_atomic_compare_exchange_strong_explicitPU3AS1VU7_AtomicdPU3AS1dd12memory_order12memory_order12memory_scope(ptr addrspace(1) %a, ptr addrspace(1) %b, double %c, i32 %d, i32 %e, i32 %f)
  ret double %call
}


declare double @_Z43_cl_atomic_compare_exchange_strong_explicitPU3AS3VU7_AtomicdPU3AS3dd12memory_order12memory_order12memory_scope(ptr addrspace(3), ptr addrspace(3), double, i32, i32, i32) local_unnamed_addr #0

define spir_func double @_Z39atomic_compare_exchange_strong_explicitPU3AS3VU7_AtomicdPU3AS3dd12memory_order12memory_order12memory_scope(ptr addrspace(3) %a, ptr addrspace(3) %b, double %c, i32 %d, i32 %e, i32 %f) local_unnamed_addr #0 {
  %call = tail call double @_Z43_cl_atomic_compare_exchange_strong_explicitPU3AS3VU7_AtomicdPU3AS3dd12memory_order12memory_order12memory_scope(ptr addrspace(3) %a, ptr addrspace(3) %b, double %c, i32 %d, i32 %e, i32 %f)
  ret double %call
}


declare double @_Z15_cl_atomic_loadPU3AS1VU7_Atomicd(ptr addrspace(1)) local_unnamed_addr #0

define spir_func double @_Z11atomic_loadPU3AS1VU7_Atomicd(ptr addrspace(1) %a) local_unnamed_addr #0 {
  %call = tail call double @_Z15_cl_atomic_loadPU3AS1VU7_Atomicd(ptr addrspace(1) %a)
  ret double %call
}


declare double @_Z15_cl_atomic_loadPU3AS3VU7_Atomicd(ptr addrspace(3)) local_unnamed_addr #0

define spir_func double @_Z11atomic_loadPU3AS3VU7_Atomicd(ptr addrspace(3) %a) local_unnamed_addr #0 {
  %call = tail call double @_Z15_cl_atomic_loadPU3AS3VU7_Atomicd(ptr addrspace(3) %a)
  ret double %call
}


declare double @_Z24_cl_atomic_load_explicitPU3AS1VU7_Atomicd12memory_order(ptr addrspace(1), i32) local_unnamed_addr #0

define spir_func double @_Z20atomic_load_explicitPU3AS1VU7_Atomicd12memory_order(ptr addrspace(1) %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call double @_Z24_cl_atomic_load_explicitPU3AS1VU7_Atomicd12memory_order(ptr addrspace(1) %a, i32 %b)
  ret double %call
}


declare double @_Z24_cl_atomic_load_explicitPU3AS3VU7_Atomicd12memory_order(ptr addrspace(3), i32) local_unnamed_addr #0

define spir_func double @_Z20atomic_load_explicitPU3AS3VU7_Atomicd12memory_order(ptr addrspace(3) %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call double @_Z24_cl_atomic_load_explicitPU3AS3VU7_Atomicd12memory_order(ptr addrspace(3) %a, i32 %b)
  ret double %call
}


declare double @_Z24_cl_atomic_load_explicitPU3AS1VU7_Atomicd12memory_order12memory_scope(ptr addrspace(1), i32, i32) local_unnamed_addr #0

define spir_func double @_Z20atomic_load_explicitPU3AS1VU7_Atomicd12memory_order12memory_scope(ptr addrspace(1) %a, i32 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call double @_Z24_cl_atomic_load_explicitPU3AS1VU7_Atomicd12memory_order12memory_scope(ptr addrspace(1) %a, i32 %b, i32 %c)
  ret double %call
}


declare double @_Z24_cl_atomic_load_explicitPU3AS3VU7_Atomicd12memory_order12memory_scope(ptr addrspace(3), i32, i32) local_unnamed_addr #0

define spir_func double @_Z20atomic_load_explicitPU3AS3VU7_Atomicd12memory_order12memory_scope(ptr addrspace(3) %a, i32 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call double @_Z24_cl_atomic_load_explicitPU3AS3VU7_Atomicd12memory_order12memory_scope(ptr addrspace(3) %a, i32 %b, i32 %c)
  ret double %call
}


declare double @_Z16_cl_atomic_storePU3AS1VU7_Atomicdd(ptr addrspace(1), double) local_unnamed_addr #0

define spir_func double @_Z12atomic_storePU3AS1VU7_Atomicdd(ptr addrspace(1) %a, double %b) local_unnamed_addr #0 {
  %call = tail call double @_Z16_cl_atomic_storePU3AS1VU7_Atomicdd(ptr addrspace(1) %a, double %b)
  ret double %call
}


declare double @_Z16_cl_atomic_storePU3AS3VU7_Atomicdd(ptr addrspace(3), double) local_unnamed_addr #0

define spir_func double @_Z12atomic_storePU3AS3VU7_Atomicdd(ptr addrspace(3) %a, double %b) local_unnamed_addr #0 {
  %call = tail call double @_Z16_cl_atomic_storePU3AS3VU7_Atomicdd(ptr addrspace(3) %a, double %b)
  ret double %call
}


declare double @_Z25_cl_atomic_store_explicitPU3AS1VU7_Atomicdd12memory_order(ptr addrspace(1), double, i32) local_unnamed_addr #0

define spir_func double @_Z21atomic_store_explicitPU3AS1VU7_Atomicdd12memory_order(ptr addrspace(1) %a, double %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call double @_Z25_cl_atomic_store_explicitPU3AS1VU7_Atomicdd12memory_order(ptr addrspace(1) %a, double %b, i32 %c)
  ret double %call
}


declare double @_Z25_cl_atomic_store_explicitPU3AS3VU7_Atomicdd12memory_order(ptr addrspace(3), double, i32) local_unnamed_addr #0

define spir_func double @_Z21atomic_store_explicitPU3AS3VU7_Atomicdd12memory_order(ptr addrspace(3) %a, double %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call double @_Z25_cl_atomic_store_explicitPU3AS3VU7_Atomicdd12memory_order(ptr addrspace(3) %a, double %b, i32 %c)
  ret double %call
}


declare double @_Z25_cl_atomic_store_explicitPU3AS1VU7_Atomicdd12memory_order12memory_scope(ptr addrspace(1), double, i32, i32) local_unnamed_addr #0

define spir_func double @_Z21atomic_store_explicitPU3AS1VU7_Atomicdd12memory_order12memory_scope(ptr addrspace(1) %a, double %b, i32 %c, i32 %d) local_unnamed_addr #0 {
  %call = tail call double @_Z25_cl_atomic_store_explicitPU3AS1VU7_Atomicdd12memory_order12memory_scope(ptr addrspace(1) %a, double %b, i32 %c, i32 %d)
  ret double %call
}


declare double @_Z25_cl_atomic_store_explicitPU3AS3VU7_Atomicdd12memory_order12memory_scope(ptr addrspace(3), double, i32, i32) local_unnamed_addr #0

define spir_func double @_Z21atomic_store_explicitPU3AS3VU7_Atomicdd12memory_order12memory_scope(ptr addrspace(3) %a, double %b, i32 %c, i32 %d) local_unnamed_addr #0 {
  %call = tail call double @_Z25_cl_atomic_store_explicitPU3AS3VU7_Atomicdd12memory_order12memory_scope(ptr addrspace(3) %a, double %b, i32 %c, i32 %d)
  ret double %call
}


declare double @_Z32_cl_atomic_compare_exchange_weakPU3AS1VU7_AtomicdPU3AS1dd(ptr addrspace(1), ptr addrspace(1), double) local_unnamed_addr #0

define spir_func double @_Z28atomic_compare_exchange_weakPU3AS1VU7_AtomicdPU3AS1dd(ptr addrspace(1) %a, ptr addrspace(1) %b, double %c) local_unnamed_addr #0 {
  %call = tail call double @_Z32_cl_atomic_compare_exchange_weakPU3AS1VU7_AtomicdPU3AS1dd(ptr addrspace(1) %a, ptr addrspace(1) %b, double %c)
  ret double %call
}


declare double @_Z32_cl_atomic_compare_exchange_weakPU3AS3VU7_AtomicdPU3AS3dd(ptr addrspace(3), ptr addrspace(3), double) local_unnamed_addr #0

define spir_func double @_Z28atomic_compare_exchange_weakPU3AS3VU7_AtomicdPU3AS3dd(ptr addrspace(3) %a, ptr addrspace(3) %b, double %c) local_unnamed_addr #0 {
  %call = tail call double @_Z32_cl_atomic_compare_exchange_weakPU3AS3VU7_AtomicdPU3AS3dd(ptr addrspace(3) %a, ptr addrspace(3) %b, double %c)
  ret double %call
}


declare double @_Z41_cl_atomic_compare_exchange_weak_explicitPU3AS1VU7_AtomicdPU3AS1dd12memory_order12memory_order(ptr addrspace(1), ptr addrspace(1), double, i32, i32) local_unnamed_addr #0

define spir_func double @_Z37atomic_compare_exchange_weak_explicitPU3AS1VU7_AtomicdPU3AS1dd12memory_order12memory_order(ptr addrspace(1) %a, ptr addrspace(1) %b, double %c, i32 %d, i32 %e) local_unnamed_addr #0 {
  %call = tail call double @_Z41_cl_atomic_compare_exchange_weak_explicitPU3AS1VU7_AtomicdPU3AS1dd12memory_order12memory_order(ptr addrspace(1) %a, ptr addrspace(1) %b, double %c, i32 %d, i32 %e)
  ret double %call
}


declare double @_Z41_cl_atomic_compare_exchange_weak_explicitPU3AS3VU7_AtomicdPU3AS3dd12memory_order12memory_order(ptr addrspace(3), ptr addrspace(3), double, i32, i32) local_unnamed_addr #0

define spir_func double @_Z37atomic_compare_exchange_weak_explicitPU3AS3VU7_AtomicdPU3AS3dd12memory_order12memory_order(ptr addrspace(3) %a, ptr addrspace(3) %b, double %c, i32 %d, i32 %e) local_unnamed_addr #0 {
  %call = tail call double @_Z41_cl_atomic_compare_exchange_weak_explicitPU3AS3VU7_AtomicdPU3AS3dd12memory_order12memory_order(ptr addrspace(3) %a, ptr addrspace(3) %b, double %c, i32 %d, i32 %e)
  ret double %call
}


declare double @_Z41_cl_atomic_compare_exchange_weak_explicitPU3AS1VU7_AtomicdPU3AS1dd12memory_order12memory_order12memory_scope(ptr addrspace(1), ptr addrspace(1), double, i32, i32, i32) local_unnamed_addr #0

define spir_func double @_Z37atomic_compare_exchange_weak_explicitPU3AS1VU7_AtomicdPU3AS1dd12memory_order12memory_order12memory_scope(ptr addrspace(1) %a, ptr addrspace(1) %b, double %c, i32 %d, i32 %e, i32 %f) local_unnamed_addr #0 {
  %call = tail call double @_Z41_cl_atomic_compare_exchange_weak_explicitPU3AS1VU7_AtomicdPU3AS1dd12memory_order12memory_order12memory_scope(ptr addrspace(1) %a, ptr addrspace(1) %b, double %c, i32 %d, i32 %e, i32 %f)
  ret double %call
}


declare double @_Z41_cl_atomic_compare_exchange_weak_explicitPU3AS3VU7_AtomicdPU3AS3dd12memory_order12memory_order12memory_scope(ptr addrspace(3), ptr addrspace(3), double, i32, i32, i32) local_unnamed_addr #0

define spir_func double @_Z37atomic_compare_exchange_weak_explicitPU3AS3VU7_AtomicdPU3AS3dd12memory_order12memory_order12memory_scope(ptr addrspace(3) %a, ptr addrspace(3) %b, double %c, i32 %d, i32 %e, i32 %f) local_unnamed_addr #0 {
  %call = tail call double @_Z41_cl_atomic_compare_exchange_weak_explicitPU3AS3VU7_AtomicdPU3AS3dd12memory_order12memory_order12memory_scope(ptr addrspace(3) %a, ptr addrspace(3) %b, double %c, i32 %d, i32 %e, i32 %f)
  ret double %call
}


declare double @_Z19_cl_atomic_exchangePU3AS1VU7_Atomicdd(ptr addrspace(1), double) local_unnamed_addr #0

define spir_func double @_Z15atomic_exchangePU3AS1VU7_Atomicdd(ptr addrspace(1) %a, double %b) local_unnamed_addr #0 {
  %call = tail call double @_Z19_cl_atomic_exchangePU3AS1VU7_Atomicdd(ptr addrspace(1) %a, double %b)
  ret double %call
}


declare double @_Z19_cl_atomic_exchangePU3AS3VU7_Atomicdd(ptr addrspace(3), double) local_unnamed_addr #0

define spir_func double @_Z15atomic_exchangePU3AS3VU7_Atomicdd(ptr addrspace(3) %a, double %b) local_unnamed_addr #0 {
  %call = tail call double @_Z19_cl_atomic_exchangePU3AS3VU7_Atomicdd(ptr addrspace(3) %a, double %b)
  ret double %call
}


declare double @_Z28_cl_atomic_exchange_explicitPU3AS1VU7_Atomicdd12memory_order(ptr addrspace(1), double, i32) local_unnamed_addr #0

define spir_func double @_Z24atomic_exchange_explicitPU3AS1VU7_Atomicdd12memory_order(ptr addrspace(1) %a, double %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call double @_Z28_cl_atomic_exchange_explicitPU3AS1VU7_Atomicdd12memory_order(ptr addrspace(1) %a, double %b, i32 %c)
  ret double %call
}


declare double @_Z28_cl_atomic_exchange_explicitPU3AS3VU7_Atomicdd12memory_order(ptr addrspace(3), double, i32) local_unnamed_addr #0

define spir_func double @_Z24atomic_exchange_explicitPU3AS3VU7_Atomicdd12memory_order(ptr addrspace(3) %a, double %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call double @_Z28_cl_atomic_exchange_explicitPU3AS3VU7_Atomicdd12memory_order(ptr addrspace(3) %a, double %b, i32 %c)
  ret double %call
}


declare double @_Z28_cl_atomic_exchange_explicitPU3AS1VU7_Atomicdd12memory_order12memory_scope(ptr addrspace(1), double, i32, i32) local_unnamed_addr #0

define spir_func double @_Z24atomic_exchange_explicitPU3AS1VU7_Atomicdd12memory_order12memory_scope(ptr addrspace(1) %a, double %b, i32 %c, i32 %d) local_unnamed_addr #0 {
  %call = tail call double @_Z28_cl_atomic_exchange_explicitPU3AS1VU7_Atomicdd12memory_order12memory_scope(ptr addrspace(1) %a, double %b, i32 %c, i32 %d)
  ret double %call
}


declare double @_Z28_cl_atomic_exchange_explicitPU3AS3VU7_Atomicdd12memory_order12memory_scope(ptr addrspace(3), double, i32, i32) local_unnamed_addr #0

define spir_func double @_Z24atomic_exchange_explicitPU3AS3VU7_Atomicdd12memory_order12memory_scope(ptr addrspace(3) %a, double %b, i32 %c, i32 %d) local_unnamed_addr #0 {
  %call = tail call double @_Z28_cl_atomic_exchange_explicitPU3AS3VU7_Atomicdd12memory_order12memory_scope(ptr addrspace(3) %a, double %b, i32 %c, i32 %d)
  ret double %call
}


declare i1 @_Z28_cl_atomic_flag_test_and_setPU3AS1VU7_Atomici(ptr addrspace(1)) local_unnamed_addr #0

define spir_func  zeroext i1 @_Z24atomic_flag_test_and_setPU3AS1VU7_Atomici(ptr addrspace(1) %a) local_unnamed_addr #0 {
  %call = tail call i1 @_Z28_cl_atomic_flag_test_and_setPU3AS1VU7_Atomici(ptr addrspace(1) %a)
  ret i1 %call
}


declare i1 @_Z28_cl_atomic_flag_test_and_setPU3AS3VU7_Atomici(ptr addrspace(3)) local_unnamed_addr #0

define spir_func  zeroext i1 @_Z24atomic_flag_test_and_setPU3AS3VU7_Atomici(ptr addrspace(3) %a) local_unnamed_addr #0 {
  %call = tail call i1 @_Z28_cl_atomic_flag_test_and_setPU3AS3VU7_Atomici(ptr addrspace(3) %a)
  ret i1 %call
}


declare i1 @_Z37_cl_atomic_flag_test_and_set_explicitPU3AS1VU7_Atomici12memory_order(ptr addrspace(1), i32) local_unnamed_addr #0

define spir_func  zeroext i1 @_Z33atomic_flag_test_and_set_explicitPU3AS1VU7_Atomici12memory_order(ptr addrspace(1) %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i1 @_Z37_cl_atomic_flag_test_and_set_explicitPU3AS1VU7_Atomici12memory_order(ptr addrspace(1) %a, i32 %b)
  ret i1 %call
}


declare i1 @_Z37_cl_atomic_flag_test_and_set_explicitPU3AS3VU7_Atomici12memory_order(ptr addrspace(3), i32) local_unnamed_addr #0

define spir_func  zeroext i1 @_Z33atomic_flag_test_and_set_explicitPU3AS3VU7_Atomici12memory_order(ptr addrspace(3) %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i1 @_Z37_cl_atomic_flag_test_and_set_explicitPU3AS3VU7_Atomici12memory_order(ptr addrspace(3) %a, i32 %b)
  ret i1 %call
}


declare i1 @_Z37_cl_atomic_flag_test_and_set_explicitPU3AS1VU7_Atomici12memory_order12memory_scope(ptr addrspace(1), i32, i32) local_unnamed_addr #0

define spir_func  zeroext i1 @_Z33atomic_flag_test_and_set_explicitPU3AS1VU7_Atomici12memory_order12memory_scope(ptr addrspace(1) %a, i32 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i1 @_Z37_cl_atomic_flag_test_and_set_explicitPU3AS1VU7_Atomici12memory_order12memory_scope(ptr addrspace(1) %a, i32 %b, i32 %c)
  ret i1 %call
}


declare i1 @_Z37_cl_atomic_flag_test_and_set_explicitPU3AS3VU7_Atomici12memory_order12memory_scope(ptr addrspace(3), i32, i32) local_unnamed_addr #0

define spir_func  zeroext i1 @_Z33atomic_flag_test_and_set_explicitPU3AS3VU7_Atomici12memory_order12memory_scope(ptr addrspace(3) %a, i32 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i1 @_Z37_cl_atomic_flag_test_and_set_explicitPU3AS3VU7_Atomici12memory_order12memory_scope(ptr addrspace(3) %a, i32 %b, i32 %c)
  ret i1 %call
}


declare i1 @_Z21_cl_atomic_flag_clearPU3AS1VU7_Atomici(ptr addrspace(1)) local_unnamed_addr #0

define spir_func  zeroext i1 @_Z17atomic_flag_clearPU3AS1VU7_Atomici(ptr addrspace(1) %a) local_unnamed_addr #0 {
  %call = tail call i1 @_Z21_cl_atomic_flag_clearPU3AS1VU7_Atomici(ptr addrspace(1) %a)
  ret i1 %call
}


declare i1 @_Z21_cl_atomic_flag_clearPU3AS3VU7_Atomici(ptr addrspace(3)) local_unnamed_addr #0

define spir_func  zeroext i1 @_Z17atomic_flag_clearPU3AS3VU7_Atomici(ptr addrspace(3) %a) local_unnamed_addr #0 {
  %call = tail call i1 @_Z21_cl_atomic_flag_clearPU3AS3VU7_Atomici(ptr addrspace(3) %a)
  ret i1 %call
}


declare i1 @_Z30_cl_atomic_flag_clear_explicitPU3AS1VU7_Atomici12memory_order(ptr addrspace(1), i32) local_unnamed_addr #0

define spir_func  zeroext i1 @_Z26atomic_flag_clear_explicitPU3AS1VU7_Atomici12memory_order(ptr addrspace(1) %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i1 @_Z30_cl_atomic_flag_clear_explicitPU3AS1VU7_Atomici12memory_order(ptr addrspace(1) %a, i32 %b)
  ret i1 %call
}


declare i1 @_Z30_cl_atomic_flag_clear_explicitPU3AS3VU7_Atomici12memory_order(ptr addrspace(3), i32) local_unnamed_addr #0

define spir_func  zeroext i1 @_Z26atomic_flag_clear_explicitPU3AS3VU7_Atomici12memory_order(ptr addrspace(3) %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i1 @_Z30_cl_atomic_flag_clear_explicitPU3AS3VU7_Atomici12memory_order(ptr addrspace(3) %a, i32 %b)
  ret i1 %call
}


declare i1 @_Z30_cl_atomic_flag_clear_explicitPU3AS1VU7_Atomici12memory_order12memory_scope(ptr addrspace(1), i32, i32) local_unnamed_addr #0

define spir_func  zeroext i1 @_Z26atomic_flag_clear_explicitPU3AS1VU7_Atomici12memory_order12memory_scope(ptr addrspace(1) %a, i32 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i1 @_Z30_cl_atomic_flag_clear_explicitPU3AS1VU7_Atomici12memory_order12memory_scope(ptr addrspace(1) %a, i32 %b, i32 %c)
  ret i1 %call
}


declare i1 @_Z30_cl_atomic_flag_clear_explicitPU3AS3VU7_Atomici12memory_order12memory_scope(ptr addrspace(3), i32, i32) local_unnamed_addr #0

define spir_func  zeroext i1 @_Z26atomic_flag_clear_explicitPU3AS3VU7_Atomici12memory_order12memory_scope(ptr addrspace(3) %a, i32 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i1 @_Z30_cl_atomic_flag_clear_explicitPU3AS3VU7_Atomici12memory_order12memory_scope(ptr addrspace(3) %a, i32 %b, i32 %c)
  ret i1 %call
}


declare i32 @_Z9_cl_mul24ii(i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z5mul24ii(i32 %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z9_cl_mul24ii(i32 %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z9_cl_mul24jj(i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z5mul24jj(i32 %a, i32 %b) local_unnamed_addr #0 {
  %call = tail call i32 @_Z9_cl_mul24jj(i32 %a, i32 %b)
  ret i32 %call
}


declare i32 @_Z9_cl_mad24iii(i32, i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z5mad24iii(i32 %a, i32 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i32 @_Z9_cl_mad24iii(i32 %a, i32 %b, i32 %c)
  ret i32 %call
}


declare i32 @_Z9_cl_mad24jjj(i32, i32, i32) local_unnamed_addr #0

define spir_func i32 @_Z5mad24jjj(i32 %a, i32 %b, i32 %c) local_unnamed_addr #0 {
  %call = tail call i32 @_Z9_cl_mad24jjj(i32 %a, i32 %b, i32 %c)
  ret i32 %call
}




attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "denorms-are-zero"="false" "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="false" }

!opencl.ocl.version = !{!0}
!opencl.spir.version = !{!0}
!llvm.ident = !{!1}
!llvm.module.flags = !{!2, !3}

!0 = !{i32 1, i32 2}
!1 = !{!"clang version 6.0.0"}
!2 = !{i32 1, !"wchar_size", i32 4}
!3 = !{i32 7, !"PIC Level", i32 2}


