Zig 0.17.0-dev (Split by item)
This is an example of documentation generated by
ZigDoc , an alternative to Zig's built-in
Auto Doc feature. See also
examples in other modes/formats . The project being documented here (as the example) is the Zig library itself.
Zig › compiler_rt/ › hexagon.zig › __hexagon_memcpy_likely_aligned_min32bytes_mult8bytes
__hexagon_memcpy_likely_aligned_min32bytes_mult8bytes
hexagon.__hexagon_memcpy_likely_aligned_min32bytes_mult8bytes
fn __hexagon_memcpy_likely_aligned_min32bytes_mult8bytes () callconv (.naked ) noreturn
File
Code
fn __hexagon_memcpy_likely_aligned_min32bytes_mult8bytes () callconv (.naked ) noreturn {
asm volatile (
\\ {
\\ p0 = bitsclr(r1,#7)
\\ p0 = bitsclr(r0,#7)
\\ if (p0.new) r5:4 = memd(r1)
\\ r3 = #-3
\\ }
\\ {
\\ if (!p0) jump .Lmemcpy_call
\\ if (p0) memd(r0++#8) = r5:4
\\ if (p0) r5:4 = memd(r1+#8)
\\ r3 += lsr(r2,#3)
\\ }
\\ {
\\ memd(r0++#8) = r5:4
\\ r5:4 = memd(r1+#16)
\\ r1 = add(r1,#24)
\\ loop0(1f,r3)
\\ }
\\ .falign
\\ 1:
\\ {
\\ memd(r0++#8) = r5:4
\\ r5:4 = memd(r1++#8)
\\ }:endloop0
\\ {
\\ memd(r0) = r5:4
\\ r0 -= add(r2,#-8)
\\ jumpr r31
\\ }
\\ .Lmemcpy_call:
\\ jump memcpy@PLT
);
}