; SPIR-V; Version: 1.0; Generator: Khronos SPIR-V Tools Assembler; 0; Bound: 27; Schema: 0OpCapability Float64OpCapability AddressesOpCapability LinkageOpCapability KernelOpCapability Int64%1 = OpExtInstImport "OpenCL.std"OpMemoryModel Physical64 OpenCLOpEntryPoint Kernel %2 "fmath_spv" %gl_GlobalInvocationIDOpName %res "res"OpName %lhs "lhs"OpName %rhs "rhs"OpName %entry "entry"OpDecorate %7 FuncParamAttr NoCapture%7 = OpDecorationGroupOpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationIdOpDecorate %gl_GlobalInvocationID ConstantOpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" ImportOpGroupDecorate %7 %res %lhs %rhs%ulong = OpTypeInt 64 0%v3ulong = OpTypeVector %ulong 3%_ptr_Input_v3ulong = OpTypePointer Input %v3ulong%void = OpTypeVoid%double = OpTypeFloat 64%_ptr_CrossWorkgroup_double = OpTypePointer CrossWorkgroup %double%15 = OpTypeFunction %void %_ptr_CrossWorkgroup_double %_ptr_CrossWorkgroup_double %_ptr_CrossWorkgroup_double%ulong_32 = OpConstant %ulong 32%gl_GlobalInvocationID = OpVariable %_ptr_Input_v3ulong Input%2 = OpFunction %void None %15%res = OpFunctionParameter %_ptr_CrossWorkgroup_double%lhs = OpFunctionParameter %_ptr_CrossWorkgroup_double%rhs = OpFunctionParameter %_ptr_CrossWorkgroup_double%entry = 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_double %lhs %20%22 = OpLoad %double %21 Aligned 8%23 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_double %rhs %20%24 = OpLoad %double %23 Aligned 8%25 = OpFMul %double %22 %24%26 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_double %res %20OpStore %26 %25 Aligned 8OpReturnOpFunctionEnd