               OpCapability GenericPointer
               OpCapability Linkage
               OpCapability Addresses
               OpCapability Kernel
               OpCapability Int8
               OpCapability Int16
               OpCapability Int64
               OpCapability Float16
               OpCapability Float64
         %41 = OpExtInstImport "OpenCL.std"
               OpMemoryModel Physical64 OpenCL
               OpEntryPoint Kernel %1 "stateful_ld_st_simple"
       %void = OpTypeVoid
      %uchar = OpTypeInt 8 0
%_ptr_CrossWorkgroup_uchar = OpTypePointer CrossWorkgroup %uchar
         %45 = OpTypeFunction %void %_ptr_CrossWorkgroup_uchar %_ptr_CrossWorkgroup_uchar
%_ptr_Function__ptr_CrossWorkgroup_uchar = OpTypePointer Function %_ptr_CrossWorkgroup_uchar
      %ulong = OpTypeInt 64 0
%_ptr_Function_ulong = OpTypePointer Function %ulong
%_ptr_CrossWorkgroup_ulong = OpTypePointer CrossWorkgroup %ulong
          %1 = OpFunction %void None %45
         %21 = OpFunctionParameter %_ptr_CrossWorkgroup_uchar
         %22 = OpFunctionParameter %_ptr_CrossWorkgroup_uchar
         %39 = OpLabel
          %2 = OpVariable %_ptr_Function__ptr_CrossWorkgroup_uchar Function
          %3 = OpVariable %_ptr_Function__ptr_CrossWorkgroup_uchar Function
          %9 = OpVariable %_ptr_Function__ptr_CrossWorkgroup_uchar Function
         %10 = OpVariable %_ptr_Function__ptr_CrossWorkgroup_uchar Function
         %11 = OpVariable %_ptr_Function__ptr_CrossWorkgroup_uchar Function
         %12 = OpVariable %_ptr_Function__ptr_CrossWorkgroup_uchar Function
          %8 = OpVariable %_ptr_Function_ulong Function
               OpStore %2 %21
               OpStore %3 %22
         %14 = OpBitcast %_ptr_Function_ulong %2
         %13 = OpLoad %ulong %14 Aligned 8
         %23 = OpConvertUToPtr %_ptr_CrossWorkgroup_uchar %13
               OpStore %9 %23
         %16 = OpBitcast %_ptr_Function_ulong %3
         %15 = OpLoad %ulong %16 Aligned 8
         %24 = OpConvertUToPtr %_ptr_CrossWorkgroup_uchar %15
               OpStore %10 %24
         %25 = OpLoad %_ptr_CrossWorkgroup_uchar %9
         %18 = OpConvertPtrToU %ulong %25
         %34 = OpCopyObject %ulong %18
         %33 = OpCopyObject %ulong %34
         %17 = OpCopyObject %ulong %33
         %26 = OpConvertUToPtr %_ptr_CrossWorkgroup_uchar %17
               OpStore %11 %26
         %27 = OpLoad %_ptr_CrossWorkgroup_uchar %10
         %20 = OpConvertPtrToU %ulong %27
         %36 = OpCopyObject %ulong %20
         %35 = OpCopyObject %ulong %36
         %19 = OpCopyObject %ulong %35
         %28 = OpConvertUToPtr %_ptr_CrossWorkgroup_uchar %19
               OpStore %12 %28
         %30 = OpLoad %_ptr_CrossWorkgroup_uchar %11
         %37 = OpBitcast %_ptr_CrossWorkgroup_ulong %30
         %29 = OpLoad %ulong %37 Aligned 8
               OpStore %8 %29
         %31 = OpLoad %_ptr_CrossWorkgroup_uchar %12
         %32 = OpLoad %ulong %8
         %38 = OpBitcast %_ptr_CrossWorkgroup_ulong %31
               OpStore %38 %32 Aligned 8
               OpReturn
               OpFunctionEnd
