feature. See also
. The project being documented here (as the example) is the Zig library itself.
aarch64_outline_atomics.__aarch64_cas16_acq_rel
fn __aarch64_cas16_acq_rel() align(16) callconv(.naked) void
File
Code
fn __aarch64_cas16_acq_rel() align(16) callconv(.naked) void {
@setRuntimeSafety(false);
asm volatile (
\\ cbz w16, 8f
\\ .inst 0x48207c82 + 0x408000
\\ ret
\\8:
\\ mov x16, x0
\\ mov x17, x1
\\0:
\\ ldaxp x0, x1, [x4]
\\ cmp x0, x16
\\ ccmp x1, x17, #0, eq
\\ bne 1f
\\ stlxp w15, x2, x3, [x4]
\\ cbnz w15, 0b
\\1:
\\ ret
:
: [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
: .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
unreachable;
}