#include <metal_stdlib>

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

void atomicStore_cdc29e(device SB_RW& sb_rw) {
  atomic_store_explicit(&(sb_rw.arg_0), 1u, memory_order_relaxed);
}

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

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

