#include <metal_stdlib>

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

void atomicXor_c1b78c(device SB_RW& sb_rw) {
  int res = atomic_fetch_xor_explicit(&(sb_rw.arg_0), 1, memory_order_relaxed);
}

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

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

