nx_i8dot32a_kat.nx
buildroot/runtime/nx_i8dot32a_kat.nx
about
nx_i8dot32a_kat.nx -- KAT for the AVX2 __f32_i8dot32a intrinsic.
__f32_i8dot32a(a:*i8[32], b:*f32[32]) = sum_{j<32} sext(a[j]) * b[j], with
2-accumulator AVX2 summation. Exact-INTEGER inputs (int8 x small-int f32,
all products+sums exactly representable) so the result is order-INDEPENDENT
-> must equal BOTH the scalar reference AND the SSE __f32_i8dot32 exactly.
That proves the AVX2 codegen (vpmovsxbd/vcvtdq2ps/vmulps/vaddps + 2-acc
combine + hsum) computes the right values. expect_exit: 0 (77/78/79 fail)
dependencies 3 imports · 0 importers
imports: nx_syscalls.nxnx_f32.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
structs
| none |
consts
| none |
functions
| 12 | func k_st4(p: *u8, idx: i64, bits: i64) -> i64 called by 1: main |
| 20 | func main() -> i64 |