|
|
|
@ -77,7 +77,7 @@ Id StorageAtomicU64(EmitContext& ctx, const IR::Value& binding, const IR::Value&
|
|
|
|
|
binding, offset, sizeof(u32[2]))};
|
|
|
|
|
const Id original_value{ctx.OpBitcast(ctx.U64, ctx.OpLoad(ctx.U32[2], pointer))};
|
|
|
|
|
const Id result{(ctx.*non_atomic_func)(ctx.U64, value, original_value)};
|
|
|
|
|
ctx.OpStore(pointer, result);
|
|
|
|
|
ctx.OpStore(pointer, ctx.OpBitcast(ctx.U32[2], result));
|
|
|
|
|
return original_value;
|
|
|
|
|
}
|
|
|
|
|
} // Anonymous namespace
|
|
|
|
|