; SPIR-V ; Version: 1.0 ; Generator: Khronos SPIR-V Tools Assembler; 0 ; Bound: 25 ; Schema: 0 OpCapability Addresses OpCapability Linkage OpCapability Kernel OpCapability Int64 OpMemoryModel Physical64 OpenCL OpEntryPoint Kernel %1 "vector_int4_extract" %gl_GlobalInvocationID OpName %in "in" OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId OpDecorate %gl_GlobalInvocationID Constant OpDecorate %in FuncParamAttr NoCapture OpDecorate %4 FuncParamAttr NoCapture OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import %ulong = OpTypeInt 64 0 %v3ulong = OpTypeVector %ulong 3 %_ptr_Input_v3ulong = OpTypePointer Input %v3ulong %ulong_32 = OpConstant %ulong 32 %uint = OpTypeInt 32 0 %void = OpTypeVoid %v4uint = OpTypeVector %uint 4 %_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint %_ptr_CrossWorkgroup_v4uint = OpTypePointer CrossWorkgroup %v4uint %14 = OpTypeFunction %void %_ptr_CrossWorkgroup_v4uint %_ptr_CrossWorkgroup_uint %uint %gl_GlobalInvocationID = OpVariable %_ptr_Input_v3ulong Input %1 = OpFunction %void None %14 %in = OpFunctionParameter %_ptr_CrossWorkgroup_v4uint %4 = OpFunctionParameter %_ptr_CrossWorkgroup_uint %15 = OpFunctionParameter %uint %16 = OpLabel %17 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 %18 = OpCompositeExtract %ulong %17 0 %19 = OpShiftLeftLogical %ulong %18 %ulong_32 %20 = OpShiftRightArithmetic %ulong %19 %ulong_32 %21 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4uint %in %20 %22 = OpLoad %v4uint %21 %23 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %4 %20 %24 = OpVectorExtractDynamic %uint %22 %15 OpStore %23 %24 OpReturn OpFunctionEnd