_self_host_vdot_full.nx
buildroot/runtime/_self_host_vdot_full.nx
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
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
structs
| none |
consts
| none |
functions
| 16 | func main() -> i64 {
calls 1: sys_mmap |