_self_host_simd_minmax_sat_test.nx
buildroot/runtime/_self_host_simd_minmax_sat_test.nx
about
_self_host_simd_minmax_sat_test.nx -- 3 ops in one smoke.
vec a = [-30000, 50, 17, 100, 200, 300, 400, 500,
600, 700, 800, 900, 1000, 1100, 1200, 25000]
vec b = [10000] * 16 (constant 10000)
Tests:
1. vreduce_min(a) = -30000 (sign-ext negative)
2. vreduce_max(a) = 25000
3. vsadd(a, b) -> clip: a[0]+b[0] = -30000+10000 = -20000 (in range)
but a[15]+b[15] = 25000+10000 = 35000 > 32767 -> sat 32767
vreduce_max(out) should = 32767
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 pack4_i16(a: i64, b: i64, c: i64, d: i64) -> i64 called by 1: main |
| 20 | func main() -> i64 |