; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 58
; Schema: 0
               OpCapability Shader
               OpMemoryModel Logical GLSL450
               OpEntryPoint GLCompute %compute_main "compute_main" %local_invocation_index_1_param_1
               OpExecutionMode %compute_main LocalSize 1 1 1
               OpName %local_invocation_index_1_param_1 "local_invocation_index_1_param_1"
               OpName %local_invocation_index_1 "local_invocation_index_1"
               OpName %arg_0 "arg_0"
               OpName %atomicCompareExchangeWeak_83580d "atomicCompareExchangeWeak_83580d"
               OpName %arg_1 "arg_1"
               OpName %arg_2 "arg_2"
               OpName %x__atomic_compare_exchange_resultu32 "x__atomic_compare_exchange_resultu32"
               OpMemberName %x__atomic_compare_exchange_resultu32 0 "old_value"
               OpMemberName %x__atomic_compare_exchange_resultu32 1 "exchanged"
               OpName %res "res"
               OpName %__atomic_compare_exchange_resultu32 "__atomic_compare_exchange_resultu32"
               OpMemberName %__atomic_compare_exchange_resultu32 0 "old_value"
               OpMemberName %__atomic_compare_exchange_resultu32 1 "exchanged"
               OpName %compute_main_inner "compute_main_inner"
               OpName %local_invocation_index "local_invocation_index"
               OpName %compute_main_1 "compute_main_1"
               OpName %compute_main_inner_1 "compute_main_inner_1"
               OpName %local_invocation_index_1_param "local_invocation_index_1_param"
               OpName %compute_main "compute_main"
               OpDecorate %local_invocation_index_1_param_1 BuiltIn LocalInvocationIndex
               OpMemberDecorate %x__atomic_compare_exchange_resultu32 0 Offset 0
               OpMemberDecorate %x__atomic_compare_exchange_resultu32 1 Offset 4
               OpMemberDecorate %__atomic_compare_exchange_resultu32 0 Offset 0
               OpMemberDecorate %__atomic_compare_exchange_resultu32 1 Offset 4
       %uint = OpTypeInt 32 0
%_ptr_Input_uint = OpTypePointer Input %uint
%local_invocation_index_1_param_1 = OpVariable %_ptr_Input_uint Input
%_ptr_Private_uint = OpTypePointer Private %uint
          %6 = OpConstantNull %uint
%local_invocation_index_1 = OpVariable %_ptr_Private_uint Private %6
%_ptr_Workgroup_uint = OpTypePointer Workgroup %uint
      %arg_0 = OpVariable %_ptr_Workgroup_uint Workgroup
       %void = OpTypeVoid
          %9 = OpTypeFunction %void
%_ptr_Function_uint = OpTypePointer Function %uint
       %bool = OpTypeBool
%x__atomic_compare_exchange_resultu32 = OpTypeStruct %uint %bool
         %18 = OpConstantNull %x__atomic_compare_exchange_resultu32
%_ptr_Function_x__atomic_compare_exchange_resultu32 = OpTypePointer Function %x__atomic_compare_exchange_resultu32
     %uint_1 = OpConstant %uint 1
%__atomic_compare_exchange_resultu32 = OpTypeStruct %uint %bool
     %uint_2 = OpConstant %uint 2
     %uint_0 = OpConstant %uint 0
         %34 = OpTypeFunction %void %uint
   %uint_264 = OpConstant %uint 264
%atomicCompareExchangeWeak_83580d = OpFunction %void None %9
         %12 = OpLabel
      %arg_1 = OpVariable %_ptr_Function_uint Function %6
      %arg_2 = OpVariable %_ptr_Function_uint Function %6
        %res = OpVariable %_ptr_Function_x__atomic_compare_exchange_resultu32 Function %18
               OpStore %arg_1 %6
               OpStore %arg_2 %6
               OpStore %res %18
               OpStore %arg_1 %uint_1
               OpStore %arg_2 %uint_1
         %22 = OpLoad %uint %arg_2
         %23 = OpLoad %uint %arg_1
         %29 = OpAtomicCompareExchange %uint %arg_0 %uint_2 %uint_0 %uint_0 %22 %23
         %30 = OpIEqual %bool %29 %23
         %24 = OpCompositeConstruct %__atomic_compare_exchange_resultu32 %29 %30
         %31 = OpCompositeExtract %uint %24 0
         %32 = OpIEqual %bool %31 %22
         %33 = OpCompositeConstruct %x__atomic_compare_exchange_resultu32 %31 %32
               OpStore %res %33
               OpReturn
               OpFunctionEnd
%compute_main_inner = OpFunction %void None %34
%local_invocation_index = OpFunctionParameter %uint
         %37 = OpLabel
               OpAtomicStore %arg_0 %uint_2 %uint_0 %6
               OpControlBarrier %uint_2 %uint_2 %uint_264
         %42 = OpFunctionCall %void %atomicCompareExchangeWeak_83580d
               OpReturn
               OpFunctionEnd
%compute_main_1 = OpFunction %void None %9
         %44 = OpLabel
         %45 = OpLoad %uint %local_invocation_index_1
         %46 = OpFunctionCall %void %compute_main_inner %45
               OpReturn
               OpFunctionEnd
%compute_main_inner_1 = OpFunction %void None %34
%local_invocation_index_1_param = OpFunctionParameter %uint
         %49 = OpLabel
               OpAtomicStore %arg_0 %uint_2 %uint_0 %6
               OpControlBarrier %uint_2 %uint_2 %uint_264
               OpStore %local_invocation_index_1 %local_invocation_index_1_param
         %53 = OpFunctionCall %void %compute_main_1
               OpReturn
               OpFunctionEnd
%compute_main = OpFunction %void None %9
         %55 = OpLabel
         %57 = OpLoad %uint %local_invocation_index_1_param_1
         %56 = OpFunctionCall %void %compute_main_inner_1 %57
               OpReturn
               OpFunctionEnd
