               OpCapability GenericPointer
               OpCapability Linkage
               OpCapability Addresses
               OpCapability Kernel
               OpCapability Int8
               OpCapability Int16
               OpCapability Int64
               OpCapability Float16
               OpCapability Float64
         %64 = OpExtInstImport "OpenCL.std"
               OpMemoryModel Physical64 OpenCL
               OpEntryPoint Kernel %1 "stateful_ld_st_ntid_chain"
               OpExecutionMode %1 ContractionOff
               OpDecorate %16 LinkageAttributes "__zluda_ptx_impl__sreg_tid" Import
       %void = OpTypeVoid
       %uint = OpTypeInt 32 0
      %uchar = OpTypeInt 8 0
         %68 = OpTypeFunction %uint %uchar
%_ptr_CrossWorkgroup_uchar = OpTypePointer CrossWorkgroup %uchar
         %70 = OpTypeFunction %void %_ptr_CrossWorkgroup_uchar %_ptr_CrossWorkgroup_uchar
%_ptr_Function__ptr_CrossWorkgroup_uchar = OpTypePointer Function %_ptr_CrossWorkgroup_uchar
%_ptr_Function_uint = OpTypePointer Function %uint
      %ulong = OpTypeInt 64 0
%_ptr_Function_ulong = OpTypePointer Function %ulong
    %uchar_0 = OpConstant %uchar 0
%_ptr_CrossWorkgroup_ulong = OpTypePointer CrossWorkgroup %ulong
         %16 = OpFunction %uint None %68
         %18 = OpFunctionParameter %uchar
               OpFunctionEnd
          %1 = OpFunction %void None %70
         %33 = OpFunctionParameter %_ptr_CrossWorkgroup_uchar
         %34 = OpFunctionParameter %_ptr_CrossWorkgroup_uchar
         %62 = OpLabel
         %25 = OpVariable %_ptr_Function__ptr_CrossWorkgroup_uchar Function
         %26 = OpVariable %_ptr_Function__ptr_CrossWorkgroup_uchar Function
         %19 = OpVariable %_ptr_Function__ptr_CrossWorkgroup_uchar Function
         %20 = OpVariable %_ptr_Function__ptr_CrossWorkgroup_uchar Function
         %21 = OpVariable %_ptr_Function__ptr_CrossWorkgroup_uchar Function
         %22 = OpVariable %_ptr_Function__ptr_CrossWorkgroup_uchar Function
         %23 = OpVariable %_ptr_Function__ptr_CrossWorkgroup_uchar Function
         %24 = OpVariable %_ptr_Function__ptr_CrossWorkgroup_uchar Function
         %10 = OpVariable %_ptr_Function_uint Function
         %11 = OpVariable %_ptr_Function_ulong Function
         %12 = OpVariable %_ptr_Function_ulong Function
               OpStore %25 %33
               OpStore %26 %34
         %55 = OpBitcast %_ptr_Function_ulong %25
         %54 = OpLoad %ulong %55 Aligned 8
         %27 = OpCopyObject %ulong %54
         %35 = OpConvertUToPtr %_ptr_CrossWorkgroup_uchar %27
               OpStore %19 %35
         %57 = OpBitcast %_ptr_Function_ulong %26
         %56 = OpLoad %ulong %57 Aligned 8
         %28 = OpCopyObject %ulong %56
         %36 = OpConvertUToPtr %_ptr_CrossWorkgroup_uchar %28
               OpStore %22 %36
         %37 = OpLoad %_ptr_CrossWorkgroup_uchar %19
         %30 = OpConvertPtrToU %ulong %37
         %29 = OpCopyObject %ulong %30
         %38 = OpConvertUToPtr %_ptr_CrossWorkgroup_uchar %29
               OpStore %20 %38
         %39 = OpLoad %_ptr_CrossWorkgroup_uchar %22
         %32 = OpConvertPtrToU %ulong %39
         %31 = OpCopyObject %ulong %32
         %40 = OpConvertUToPtr %_ptr_CrossWorkgroup_uchar %31
               OpStore %23 %40
         %15 = OpFunctionCall %uint %16 %uchar_0
         %41 = OpCopyObject %uint %15
               OpStore %10 %41
         %43 = OpLoad %uint %10
         %75 = OpBitcast %uint %43
         %42 = OpUConvert %ulong %75
               OpStore %11 %42
         %45 = OpLoad %_ptr_CrossWorkgroup_uchar %20
         %46 = OpLoad %ulong %11
         %58 = OpCopyObject %ulong %46
         %76 = OpBitcast %_ptr_CrossWorkgroup_uchar %45
         %77 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uchar %76 %58
         %44 = OpBitcast %_ptr_CrossWorkgroup_uchar %77
               OpStore %21 %44
         %48 = OpLoad %_ptr_CrossWorkgroup_uchar %23
         %49 = OpLoad %ulong %11
         %59 = OpCopyObject %ulong %49
         %78 = OpBitcast %_ptr_CrossWorkgroup_uchar %48
         %79 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uchar %78 %59
         %47 = OpBitcast %_ptr_CrossWorkgroup_uchar %79
               OpStore %24 %47
         %51 = OpLoad %_ptr_CrossWorkgroup_uchar %21
         %60 = OpBitcast %_ptr_CrossWorkgroup_ulong %51
         %50 = OpLoad %ulong %60 Aligned 8
               OpStore %12 %50
         %52 = OpLoad %_ptr_CrossWorkgroup_uchar %24
         %53 = OpLoad %ulong %12
         %61 = OpBitcast %_ptr_CrossWorkgroup_ulong %52
               OpStore %61 %53 Aligned 8
               OpReturn
               OpFunctionEnd
