#include <metal_stdlib>

using namespace metal;
struct SB_RW {
  /* 0x0000 */ atomic_uint arg_0;
};

void atomicCompareExchangeWeak_6673da(device SB_RW& sb_rw) {
  uint prev_value = 1u;
  bool matched = atomic_compare_exchange_weak_explicit(&(sb_rw.arg_0), &prev_value, 1u, memory_order_relaxed, memory_order_relaxed);
  uint2 res = uint2(prev_value, matched);
}

fragment void fragment_main(device SB_RW& sb_rw [[buffer(0)]]) {
  atomicCompareExchangeWeak_6673da(sb_rw);
  return;
}

kernel void compute_main(device SB_RW& sb_rw [[buffer(0)]]) {
  atomicCompareExchangeWeak_6673da(sb_rw);
  return;
}

