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.

__hexagon_divsf3

hexagon.__hexagon_divsf3
fn __hexagon_divsf3() callconv(.naked) noreturn

File

lib/compiler_rt/hexagon.zig:261

Code

fn __hexagon_divsf3() callconv(.naked) noreturn {
    asm volatile (
        \\ {
        \\     r2,p0 = sfrecipa(r0,r1)
        \\     r4 = sffixupd(r0,r1)
        \\     r3 = ##0x3f800000
        \\   }
        \\   {
        \\     r5 = sffixupn(r0,r1)
        \\     r3 -= sfmpy(r4,r2):lib
        \\     r6 = ##0x80000000
        \\     r7 = r3
        \\   }
        \\   {
        \\     r2 += sfmpy(r3,r2):lib
        \\     r3 = r7
        \\     r6 = r5
        \\     r0 = and(r6,r5)
        \\   }
        \\   {
        \\     r3 -= sfmpy(r4,r2):lib
        \\     r0 += sfmpy(r5,r2):lib
        \\   }
        \\   {
        \\     r2 += sfmpy(r3,r2):lib
        \\     r6 -= sfmpy(r0,r4):lib
        \\   }
        \\   {
        \\     r0 += sfmpy(r6,r2):lib
        \\   }
        \\   {
        \\     r5 -= sfmpy(r0,r4):lib
        \\   }
        \\   {
        \\     r0 += sfmpy(r5,r2,p0):scale
        \\     jumpr r31
        \\   }
    );
}