OpCapability GenericPointer OpCapability Linkage OpCapability Addresses OpCapability Kernel OpCapability Int8 OpCapability Int16 OpCapability Int64 OpCapability Float16 OpCapability Float64 OpCapability DenormFlushToZero %31 = OpExtInstImport "OpenCL.std" OpMemoryModel Physical64 OpenCL OpEntryPoint Kernel %4 "extern_func" OpExecutionMode %4 ContractionOff OpDecorate %1 LinkageAttributes "foobar" Import OpDecorate %12 Alignment 16 OpDecorate %4 LinkageAttributes "extern_func" Export %void = OpTypeVoid %ulong = OpTypeInt 64 0 %_ptr_Function_ulong = OpTypePointer Function %ulong %uint = OpTypeInt 32 0 %uchar = OpTypeInt 8 0 %uint_16 = OpConstant %uint 16 %_arr_uchar_uint_16 = OpTypeArray %uchar %uint_16 %_ptr_Function__arr_uchar_uint_16 = OpTypePointer Function %_arr_uchar_uint_16 %40 = OpTypeFunction %void %_ptr_Function_ulong %_ptr_Function__arr_uchar_uint_16 %uint_16_0 = OpConstant %uint 16 %42 = OpTypeFunction %void %ulong %ulong %uint_16_1 = OpConstant %uint 16 %_ptr_CrossWorkgroup_ulong = OpTypePointer CrossWorkgroup %ulong %ulong_0 = OpConstant %ulong 0 %_ptr_Function_uchar = OpTypePointer Function %uchar %_ptr_Generic_ulong = OpTypePointer Generic %ulong %1 = OpFunction %void None %40 %3 = OpFunctionParameter %_ptr_Function_ulong %2 = OpFunctionParameter %_ptr_Function__arr_uchar_uint_16 OpFunctionEnd %4 = OpFunction %void None %42 %13 = OpFunctionParameter %ulong %14 = OpFunctionParameter %ulong %29 = OpLabel %5 = OpVariable %_ptr_Function_ulong Function %6 = OpVariable %_ptr_Function_ulong Function %7 = OpVariable %_ptr_Function_ulong Function %8 = OpVariable %_ptr_Function_ulong Function %9 = OpVariable %_ptr_Function_ulong Function %10 = OpVariable %_ptr_Function_ulong Function %11 = OpVariable %_ptr_Function_ulong Function %12 = OpVariable %_ptr_Function__arr_uchar_uint_16 Function OpStore %5 %13 OpStore %6 %14 %15 = OpLoad %ulong %5 Aligned 8 OpStore %7 %15 %16 = OpLoad %ulong %6 Aligned 8 OpStore %8 %16 %18 = OpLoad %ulong %7 %25 = OpConvertUToPtr %_ptr_CrossWorkgroup_ulong %18 %17 = OpLoad %ulong %25 Aligned 8 OpStore %9 %17 %19 = OpLoad %ulong %9 %46 = OpBitcast %_ptr_Function_uchar %11 %47 = OpInBoundsPtrAccessChain %_ptr_Function_uchar %46 %ulong_0 %24 = OpBitcast %_ptr_Function_ulong %47 %26 = OpCopyObject %ulong %19 OpStore %24 %26 Aligned 8 %48 = OpFunctionCall %void %1 %11 %12 %27 = OpBitcast %_ptr_Function_ulong %12 %20 = OpLoad %ulong %27 Aligned 8 OpStore %10 %20 %21 = OpLoad %ulong %8 %22 = OpLoad %ulong %10 %28 = OpConvertUToPtr %_ptr_Generic_ulong %21 OpStore %28 %22 Aligned 8 OpReturn OpFunctionEnd