code wiki / (root) / _self_host_vdot_full.nx

_self_host_vdot_full.nx

buildroot/runtime/_self_host_vdot_full.nx

1168 B31 linesdepth 2pulls 2 transitivereach 0 importersview sourcekind tooltopic self
docsdependenciesstructsconstsfunctions

about

_self_host_vdot_full.nx -- full vdot [1..16] . [1..16] via self-host. Uses literal hex constants for the packed lanes (avoids the pack4_i16 codegen bug in nx_parse.nx/nx_riscv.nx -- the `expr | (expr << N) | ...` chain currently emits only the first `expr` and drops the rest). Tracked separately. Each pair of i16 lanes per word: lane[0..3] = (1, 2, 3, 4) -> 0x0004000300020001 lane[4..7] = (5, 6, 7, 8) -> 0x0008000700060005 lane[8..11] = (9,10,11,12) -> 0x000c000b000a0009 lane[12..15] = (13,14,15,16) -> 0x00100 0f000e000d dot = sum(i^2 for i=1..16) = 1496. Exit = 1496 % 251 = 241.

dependencies 1 imports · 0 importers

nx_syscalls.nx _self_host_vdot_full.nx

imports: nx_syscalls.nx

imported by: nobody (leaf or entry point)

call flow from main pre-order; caps 40 nodes / depth 6 declared; ↻ = already shown

main sys_mmap

structs

none

consts

none

functions

16func main() -> i64 {
calls 1: sys_mmap