               OpCapability GenericPointer
               OpCapability Linkage
               OpCapability Addresses
               OpCapability Kernel
               OpCapability Int8
               OpCapability Int16
               OpCapability Int64
               OpCapability Float16
               OpCapability Float64
         %71 = OpExtInstImport "OpenCL.std"
               OpMemoryModel Physical64 OpenCL
               OpEntryPoint Kernel %1 "stateful_ld_st_ntid_sub"
               OpExecutionMode %1 ContractionOff
               OpDecorate %54 LinkageAttributes "_Z12get_local_idj" Import
       %void = OpTypeVoid
      %ulong = OpTypeInt 64 0
       %uint = OpTypeInt 32 0
         %75 = OpTypeFunction %ulong %uint
      %uchar = OpTypeInt 8 0
%_ptr_CrossWorkgroup_uchar = OpTypePointer CrossWorkgroup %uchar
         %78 = OpTypeFunction %void %_ptr_CrossWorkgroup_uchar %_ptr_CrossWorkgroup_uchar
%_ptr_Function__ptr_CrossWorkgroup_uchar = OpTypePointer Function %_ptr_CrossWorkgroup_uchar
%_ptr_Function_uint = OpTypePointer Function %uint
%_ptr_Function_ulong = OpTypePointer Function %ulong
     %uint_0 = OpConstant %uint 0
    %ulong_0 = OpConstant %ulong 0
%_ptr_CrossWorkgroup_ulong = OpTypePointer CrossWorkgroup %ulong
  %ulong_0_0 = OpConstant %ulong 0
         %54 = OpFunction %ulong None %75
         %56 = OpFunctionParameter %uint
               OpFunctionEnd
          %1 = OpFunction %void None %78
         %30 = OpFunctionParameter %_ptr_CrossWorkgroup_uchar
         %31 = OpFunctionParameter %_ptr_CrossWorkgroup_uchar
         %69 = OpLabel
         %20 = OpVariable %_ptr_Function__ptr_CrossWorkgroup_uchar Function
         %21 = OpVariable %_ptr_Function__ptr_CrossWorkgroup_uchar Function
         %14 = OpVariable %_ptr_Function__ptr_CrossWorkgroup_uchar Function
         %15 = OpVariable %_ptr_Function__ptr_CrossWorkgroup_uchar Function
         %16 = OpVariable %_ptr_Function__ptr_CrossWorkgroup_uchar Function
         %17 = OpVariable %_ptr_Function__ptr_CrossWorkgroup_uchar Function
         %18 = OpVariable %_ptr_Function__ptr_CrossWorkgroup_uchar Function
         %19 = 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 %20 %30
               OpStore %21 %31
         %62 = OpBitcast %_ptr_Function_ulong %20
         %61 = OpLoad %ulong %62 Aligned 8
         %22 = OpCopyObject %ulong %61
         %32 = OpConvertUToPtr %_ptr_CrossWorkgroup_uchar %22
               OpStore %14 %32
         %64 = OpBitcast %_ptr_Function_ulong %21
         %63 = OpLoad %ulong %64 Aligned 8
         %23 = OpCopyObject %ulong %63
         %33 = OpConvertUToPtr %_ptr_CrossWorkgroup_uchar %23
               OpStore %17 %33
         %34 = OpLoad %_ptr_CrossWorkgroup_uchar %14
         %25 = OpConvertPtrToU %ulong %34
         %24 = OpCopyObject %ulong %25
         %35 = OpConvertUToPtr %_ptr_CrossWorkgroup_uchar %24
               OpStore %15 %35
         %36 = OpLoad %_ptr_CrossWorkgroup_uchar %17
         %27 = OpConvertPtrToU %ulong %36
         %26 = OpCopyObject %ulong %27
         %37 = OpConvertUToPtr %_ptr_CrossWorkgroup_uchar %26
               OpStore %18 %37
         %53 = OpFunctionCall %ulong %54 %uint_0
         %82 = OpBitcast %ulong %53
         %39 = OpUConvert %uint %82
         %38 = OpCopyObject %uint %39
               OpStore %10 %38
         %41 = OpLoad %uint %10
         %83 = OpBitcast %uint %41
         %40 = OpUConvert %ulong %83
               OpStore %11 %40
         %42 = OpLoad %ulong %11
         %65 = OpCopyObject %ulong %42
         %28 = OpSNegate %ulong %65
         %44 = OpLoad %_ptr_CrossWorkgroup_uchar %15
         %84 = OpBitcast %_ptr_CrossWorkgroup_uchar %44
         %85 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uchar %84 %28
         %43 = OpBitcast %_ptr_CrossWorkgroup_uchar %85
               OpStore %16 %43
         %45 = OpLoad %ulong %11
         %66 = OpCopyObject %ulong %45
         %29 = OpSNegate %ulong %66
         %47 = OpLoad %_ptr_CrossWorkgroup_uchar %18
         %86 = OpBitcast %_ptr_CrossWorkgroup_uchar %47
         %87 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uchar %86 %29
         %46 = OpBitcast %_ptr_CrossWorkgroup_uchar %87
               OpStore %19 %46
         %49 = OpLoad %_ptr_CrossWorkgroup_uchar %16
         %67 = OpBitcast %_ptr_CrossWorkgroup_ulong %49
         %89 = OpBitcast %_ptr_CrossWorkgroup_uchar %67
         %90 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uchar %89 %ulong_0
         %58 = OpBitcast %_ptr_CrossWorkgroup_ulong %90
         %48 = OpLoad %ulong %58 Aligned 8
               OpStore %12 %48
         %50 = OpLoad %_ptr_CrossWorkgroup_uchar %19
         %51 = OpLoad %ulong %12
         %68 = OpBitcast %_ptr_CrossWorkgroup_ulong %50
         %91 = OpBitcast %_ptr_CrossWorkgroup_uchar %68
         %92 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uchar %91 %ulong_0_0
         %60 = OpBitcast %_ptr_CrossWorkgroup_ulong %92
               OpStore %60 %51 Aligned 8
               OpReturn
               OpFunctionEnd
