; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 46
; Schema: 0
               OpCapability Shader
               OpMemoryModel Logical GLSL450
               OpEntryPoint Fragment %fragment_main "fragment_main"
               OpEntryPoint GLCompute %compute_main "compute_main"
               OpExecutionMode %fragment_main OriginUpperLeft
               OpExecutionMode %compute_main LocalSize 1 1 1
               OpName %SB_RW_atomic "SB_RW_atomic"
               OpMemberName %SB_RW_atomic 0 "arg_0"
               OpName %sb_rw "sb_rw"
               OpName %atomicCompareExchangeWeak_1bd40a "atomicCompareExchangeWeak_1bd40a"
               OpName %arg_1 "arg_1"
               OpName %arg_2 "arg_2"
               OpName %x__atomic_compare_exchange_resulti32 "x__atomic_compare_exchange_resulti32"
               OpMemberName %x__atomic_compare_exchange_resulti32 0 "old_value"
               OpMemberName %x__atomic_compare_exchange_resulti32 1 "exchanged"
               OpName %res "res"
               OpName %__atomic_compare_exchange_resulti32 "__atomic_compare_exchange_resulti32"
               OpMemberName %__atomic_compare_exchange_resulti32 0 "old_value"
               OpMemberName %__atomic_compare_exchange_resulti32 1 "exchanged"
               OpName %fragment_main_1 "fragment_main_1"
               OpName %fragment_main "fragment_main"
               OpName %compute_main_1 "compute_main_1"
               OpName %compute_main "compute_main"
               OpDecorate %SB_RW_atomic Block
               OpMemberDecorate %SB_RW_atomic 0 Offset 0
               OpDecorate %sb_rw DescriptorSet 0
               OpDecorate %sb_rw Binding 0
               OpMemberDecorate %x__atomic_compare_exchange_resulti32 0 Offset 0
               OpMemberDecorate %x__atomic_compare_exchange_resulti32 1 Offset 4
               OpMemberDecorate %__atomic_compare_exchange_resulti32 0 Offset 0
               OpMemberDecorate %__atomic_compare_exchange_resulti32 1 Offset 4
        %int = OpTypeInt 32 1
%SB_RW_atomic = OpTypeStruct %int
%_ptr_StorageBuffer_SB_RW_atomic = OpTypePointer StorageBuffer %SB_RW_atomic
      %sb_rw = OpVariable %_ptr_StorageBuffer_SB_RW_atomic StorageBuffer
       %void = OpTypeVoid
          %5 = OpTypeFunction %void
          %9 = OpConstantNull %int
%_ptr_Function_int = OpTypePointer Function %int
       %bool = OpTypeBool
%x__atomic_compare_exchange_resulti32 = OpTypeStruct %int %bool
         %15 = OpConstantNull %x__atomic_compare_exchange_resulti32
%_ptr_Function_x__atomic_compare_exchange_resulti32 = OpTypePointer Function %x__atomic_compare_exchange_resulti32
      %int_1 = OpConstant %int 1
%__atomic_compare_exchange_resulti32 = OpTypeStruct %int %bool
       %uint = OpTypeInt 32 0
     %uint_1 = OpConstant %uint 1
     %uint_0 = OpConstant %uint 0
%_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int
%atomicCompareExchangeWeak_1bd40a = OpFunction %void None %5
          %8 = OpLabel
      %arg_1 = OpVariable %_ptr_Function_int Function %9
      %arg_2 = OpVariable %_ptr_Function_int Function %9
        %res = OpVariable %_ptr_Function_x__atomic_compare_exchange_resulti32 Function %15
               OpStore %arg_1 %9
               OpStore %arg_2 %9
               OpStore %res %15
               OpStore %arg_1 %int_1
               OpStore %arg_2 %int_1
         %19 = OpLoad %int %arg_2
         %20 = OpLoad %int %arg_1
         %28 = OpAccessChain %_ptr_StorageBuffer_int %sb_rw %uint_0
         %29 = OpAtomicCompareExchange %int %28 %uint_1 %uint_0 %uint_0 %19 %20
         %30 = OpIEqual %bool %29 %20
         %21 = OpCompositeConstruct %__atomic_compare_exchange_resulti32 %29 %30
         %31 = OpCompositeExtract %int %21 0
         %32 = OpIEqual %bool %31 %19
         %33 = OpCompositeConstruct %x__atomic_compare_exchange_resulti32 %31 %32
               OpStore %res %33
               OpReturn
               OpFunctionEnd
%fragment_main_1 = OpFunction %void None %5
         %35 = OpLabel
         %36 = OpFunctionCall %void %atomicCompareExchangeWeak_1bd40a
               OpReturn
               OpFunctionEnd
%fragment_main = OpFunction %void None %5
         %38 = OpLabel
         %39 = OpFunctionCall %void %fragment_main_1
               OpReturn
               OpFunctionEnd
%compute_main_1 = OpFunction %void None %5
         %41 = OpLabel
         %42 = OpFunctionCall %void %atomicCompareExchangeWeak_1bd40a
               OpReturn
               OpFunctionEnd
%compute_main = OpFunction %void None %5
         %44 = OpLabel
         %45 = OpFunctionCall %void %compute_main_1
               OpReturn
               OpFunctionEnd
