OpCapability GenericPointer OpCapability Linkage OpCapability Addresses OpCapability Kernel OpCapability Int8 OpCapability Int16 OpCapability Int64 OpCapability Float16 OpCapability Float64 %61 = OpExtInstImport "OpenCL.std" OpMemoryModel Physical64 OpenCL OpEntryPoint Kernel %1 "vector_extract" %void = OpTypeVoid %ulong = OpTypeInt 64 0 %64 = OpTypeFunction %void %ulong %ulong %_ptr_Function_ulong = OpTypePointer Function %ulong %ushort = OpTypeInt 16 0 %_ptr_Function_ushort = OpTypePointer Function %ushort %v4ushort = OpTypeVector %ushort 4 %_ptr_Function_v4ushort = OpTypePointer Function %v4ushort %uchar = OpTypeInt 8 0 %v4uchar = OpTypeVector %uchar 4 %_ptr_CrossWorkgroup_v4uchar = OpTypePointer CrossWorkgroup %v4uchar %1 = OpFunction %void None %64 %17 = OpFunctionParameter %ulong %18 = OpFunctionParameter %ulong %59 = OpLabel %2 = OpVariable %_ptr_Function_ulong Function %3 = OpVariable %_ptr_Function_ulong Function %4 = OpVariable %_ptr_Function_ulong Function %5 = OpVariable %_ptr_Function_ulong Function %6 = OpVariable %_ptr_Function_ushort Function %7 = OpVariable %_ptr_Function_ushort Function %8 = OpVariable %_ptr_Function_ushort Function %9 = OpVariable %_ptr_Function_ushort Function %10 = OpVariable %_ptr_Function_v4ushort Function OpStore %2 %17 OpStore %3 %18 %19 = OpLoad %ulong %2 Aligned 8 OpStore %4 %19 %20 = OpLoad %ulong %3 Aligned 8 OpStore %5 %20 %21 = OpLoad %ulong %4 %49 = OpConvertUToPtr %_ptr_CrossWorkgroup_v4uchar %21 %11 = OpLoad %v4uchar %49 Aligned 4 %50 = OpCompositeExtract %uchar %11 0 %51 = OpCompositeExtract %uchar %11 1 %52 = OpCompositeExtract %uchar %11 2 %53 = OpCompositeExtract %uchar %11 3 %73 = OpBitcast %uchar %50 %22 = OpUConvert %ushort %73 %74 = OpBitcast %uchar %51 %23 = OpUConvert %ushort %74 %75 = OpBitcast %uchar %52 %24 = OpUConvert %ushort %75 %76 = OpBitcast %uchar %53 %25 = OpUConvert %ushort %76 OpStore %6 %22 OpStore %7 %23 OpStore %8 %24 OpStore %9 %25 %26 = OpLoad %ushort %7 %27 = OpLoad %ushort %8 %28 = OpLoad %ushort %9 %29 = OpLoad %ushort %6 %77 = OpUndef %v4ushort %78 = OpCompositeInsert %v4ushort %26 %77 0 %79 = OpCompositeInsert %v4ushort %27 %78 1 %80 = OpCompositeInsert %v4ushort %28 %79 2 %81 = OpCompositeInsert %v4ushort %29 %80 3 %12 = OpCopyObject %v4ushort %81 %30 = OpCopyObject %v4ushort %12 OpStore %10 %30 %31 = OpLoad %v4ushort %10 %13 = OpCopyObject %v4ushort %31 %32 = OpCompositeExtract %ushort %13 0 %33 = OpCompositeExtract %ushort %13 1 %34 = OpCompositeExtract %ushort %13 2 %35 = OpCompositeExtract %ushort %13 3 OpStore %8 %32 OpStore %9 %33 OpStore %6 %34 OpStore %7 %35 %36 = OpLoad %ushort %8 %37 = OpLoad %ushort %9 %38 = OpLoad %ushort %6 %39 = OpLoad %ushort %7 %82 = OpUndef %v4ushort %83 = OpCompositeInsert %v4ushort %36 %82 0 %84 = OpCompositeInsert %v4ushort %37 %83 1 %85 = OpCompositeInsert %v4ushort %38 %84 2 %86 = OpCompositeInsert %v4ushort %39 %85 3 %15 = OpCopyObject %v4ushort %86 %14 = OpCopyObject %v4ushort %15 %40 = OpCompositeExtract %ushort %14 0 %41 = OpCompositeExtract %ushort %14 1 %42 = OpCompositeExtract %ushort %14 2 %43 = OpCompositeExtract %ushort %14 3 OpStore %9 %40 OpStore %6 %41 OpStore %7 %42 OpStore %8 %43 %44 = OpLoad %ushort %6 %45 = OpLoad %ushort %7 %46 = OpLoad %ushort %8 %47 = OpLoad %ushort %9 %87 = OpBitcast %ushort %44 %54 = OpUConvert %uchar %87 %88 = OpBitcast %ushort %45 %55 = OpUConvert %uchar %88 %89 = OpBitcast %ushort %46 %56 = OpUConvert %uchar %89 %90 = OpBitcast %ushort %47 %57 = OpUConvert %uchar %90 %91 = OpUndef %v4uchar %92 = OpCompositeInsert %v4uchar %54 %91 0 %93 = OpCompositeInsert %v4uchar %55 %92 1 %94 = OpCompositeInsert %v4uchar %56 %93 2 %95 = OpCompositeInsert %v4uchar %57 %94 3 %16 = OpCopyObject %v4uchar %95 %48 = OpLoad %ulong %5 %58 = OpConvertUToPtr %_ptr_CrossWorkgroup_v4uchar %48 OpStore %58 %16 Aligned 4 OpReturn OpFunctionEnd