; SPIR-V ; Version: 1.0 ; Generator: Khronos SPIR-V Tools Assembler; 0 ; Bound: 21 ; Schema: 0 OpCapability Addresses OpCapability Linkage OpCapability Kernel OpMemoryModel Physical32 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 %uint = OpTypeInt 32 0 %v3uint = OpTypeVector %uint 3 %_ptr_Input_v3uint = OpTypePointer Input %v3uint %void = OpTypeVoid %v4uint = OpTypeVector %uint 4 %_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint %_ptr_CrossWorkgroup_v4uint = OpTypePointer CrossWorkgroup %v4uint %12 = OpTypeFunction %void %_ptr_CrossWorkgroup_v4uint %_ptr_CrossWorkgroup_uint %uint %gl_GlobalInvocationID = OpVariable %_ptr_Input_v3uint Input %1 = OpFunction %void None %12 %in = OpFunctionParameter %_ptr_CrossWorkgroup_v4uint %4 = OpFunctionParameter %_ptr_CrossWorkgroup_uint %13 = OpFunctionParameter %uint %14 = OpLabel %15 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 %16 = OpCompositeExtract %uint %15 0 %17 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4uint %in %16 %18 = OpLoad %v4uint %17 %19 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %4 %16 %20 = OpVectorExtractDynamic %uint %18 %13 OpStore %19 %20 OpReturn OpFunctionEnd