code wiki / (root) / nx_f32x8_probe.nx

nx_f32x8_probe.nx

buildroot/runtime/nx_f32x8_probe.nx

1221 B30 linesdepth 4pulls 7 transitivereach 0 importersview sourcekind probetopic f32x8
docsdependenciesstructsconstsfunctions

about

nx_f32x8_probe.nx -- test the x86 f32 SIMD primitive __f32x8_dot on nx_cc_known_good. nx_parse.nx:1463 documents __f32x8_dot(a_ptr, b_ptr) = dot of 8 CONTIGUOUS 4-byte f32 -> f32 scalar, x86 AVX2 vmovups+vmulps + hsum. If it works, the f32 side (DiT projections, linear attention) can be SIMD- accelerated (complement to integer vpmaddwd). Golden: dot([1..8],[1..8]) = sum(i^2,1..8) = 204. Note: f32 must be packed as 4-byte f32 in memory (not i64-per-value). license_tier: ORIGINAL

dependencies 6 imports · 0 importers

nx_syscalls.nx nx_tier.nx nx_le.nx nx_f32.nx nx_f32_div.nx nx_f32_cvt.nx nx_f32x8_probe.nx

imports: nx_syscalls.nxnx_tier.nxnx_le.nxnx_f32.nxnx_f32_div.nxnx_f32_cvt.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 nx_i32_to_f32 nx_le_write_u32 nx_f32_div nx_f32_classify nx_f32_exp_field nx_f32_mant_field nx_f32_sign nx_f32_mant_field ↻ nx_f32_exp_field ↻ nx_f32_sub nx_f32_add nx_f32_classify ↻ nx_f32_sign ↻ nx_f32_mant_field ↻ nx_f32_exp_field ↻ nx_f32_neg

structs

none

consts

none

functions

15func main() -> i64