blob: 18b088ef8241e560ae98e9393514db2a40c7c735 [file]
var<workgroup> arg_0 : atomic<u32>;
struct S {
old_value : u32,
exchanged : bool,
}
fn atomicCompareExchangeWeak_83580d() {
var arg_1 : u32 = 0u;
var arg_2 : u32 = 0u;
var res : S = S();
arg_1 = 1u;
arg_2 = 1u;
let v = arg_2;
let v_1 = atomicCompareExchangeWeak(&(arg_0), arg_1, v).old_value;
res = S(v_1, (v_1 == v));
}
fn compute_main_inner(local_invocation_index : u32) {
atomicStore(&(arg_0), 0u);
workgroupBarrier();
atomicCompareExchangeWeak_83580d();
}
@compute @workgroup_size(1u, 1u, 1u)
fn compute_main(@builtin(local_invocation_index) local_invocation_index_1 : u32) {
compute_main_inner(local_invocation_index_1);
}