Files
Julien Jerphanion b47183a713 Add WASM SIMD128 SGEMV/DGEMV kernels
kernel/wasm/KERNEL is included after KERNEL.WASM128_GENERIC and
unconditionally pointed S/D GEMV at RISC-V scalar gemv_{n,t}.c, so a
target-file SIMD kernel would never run.

Add kernel/wasm/gemv_{n,t}.c for both precisions. GEMV_T keeps 8
(float) / 4 (double) independent column accumulators with IEEE mul+add
and delays the horizontal add until after the inner loop. GEMV_N
streams four columns into y with a four-lane v128 unroll. Non-unit
stride stays scalar (no WASM gather/scatter).

Guard SGEMV{N,T}KERNEL/DGEMV{N,T}KERNEL with ifndef in KERNEL so the
target file wins. CGEMV/ZGEMV stay RISC-V scalar.

Signed-off-by: Julien Jerphanion <git@jjerphan.xyz>
2026-08-21 16:18:59 +02:00
..
2026-08-20 09:17:30 +02:00
2026-08-21 16:18:59 +02:00
2026-08-21 16:18:59 +02:00
2026-08-21 16:18:59 +02:00