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_sqrtf
__hexagon_sqrtf
hexagon.__hexagon_sqrtf
fn __hexagon_sqrtf () callconv (.naked ) noreturn
File
Code
fn __hexagon_sqrtf () callconv (.naked ) noreturn {
asm volatile (
\\ {
\\ r3,p0 = sfinvsqrta(r0)
\\ r5 = sffixupr(r0)
\\ r4 = ##0x3f000000
\\ r1:0 = combine(#0,#0)
\\ }
\\ {
\\ r0 += sfmpy(r3,r5):lib
\\ r1 += sfmpy(r3,r4):lib
\\ r2 = r4
\\ r3 = r5
\\ }
\\ {
\\ r2 -= sfmpy(r0,r1):lib
\\ p1 = sfclass(r5,#1)
\\
\\ }
\\ {
\\ r0 += sfmpy(r0,r2):lib
\\ r1 += sfmpy(r1,r2):lib
\\ r2 = r4
\\ r3 = r5
\\ }
\\ {
\\ r2 -= sfmpy(r0,r1):lib
\\ r3 -= sfmpy(r0,r0):lib
\\ }
\\ {
\\ r0 += sfmpy(r1,r3):lib
\\ r1 += sfmpy(r1,r2):lib
\\ r2 = r4
\\ r3 = r5
\\ }
\\ {
\\
\\ r3 -= sfmpy(r0,r0):lib
\\ if (p1) r0 = or(r0,r5)
\\ }
\\ {
\\ r0 += sfmpy(r1,r3,p0):scale
\\ jumpr r31
\\ }
);
}