OpCapability Addresses OpCapability Linkage OpCapability Kernel OpCapability Int64 OpMemoryModel Physical64 OpenCL OpEntryPoint Kernel %func "branch_simple" OpName %inptr "in" OpName %outptr "out" OpDecorate %global_id BuiltIn GlobalInvocationId OpDecorate %global_id Constant OpDecorate %inptr FuncParamAttr NoCapture OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import %idx_t = OpTypeInt 64 0 %idx3_t = OpTypeVector %idx_t 3 %idx3_ptr_t = OpTypePointer UniformConstant %idx3_t %shift_val = OpConstant %idx_t 32 %void_t = OpTypeVoid %int_t = OpTypeInt 32 0 %int_ptr_t = OpTypePointer CrossWorkgroup %int_t %func_t = OpTypeFunction %void_t %int_ptr_t %int_ptr_t %global_id = OpVariable %idx3_ptr_t UniformConstant %func = OpFunction %void_t None %func_t %inptr = OpFunctionParameter %int_ptr_t %outptr = OpFunctionParameter %int_ptr_t %entry = OpLabel %idx3 = OpLoad %idx3_t %global_id Aligned 0 %idx_tmp = OpCompositeExtract %idx_t %idx3 0 %idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val %idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val %current_in = OpInBoundsPtrAccessChain %int_ptr_t %inptr %idx %current_out = OpInBoundsPtrAccessChain %int_ptr_t %outptr %idx OpBranch %final_block %final_block = OpLabel %val = OpLoad %int_t %current_in OpStore %current_out %val OpReturn OpFunctionEnd