code wiki / _hdl_build / nx_simd_avx2_kat_gate.nx
nx_simd_avx2_kat_gate.nx
buildroot/runtime/_hdl_build/nx_simd_avx2_kat_gate.nx
about
nx_simd_avx2_kat_gate.nx -- SOVEREIGN 256-bit AVX2 vector run-KAT (the VEX rung): proves the
sovereign encoder/assembler emit working VEX-encoded ymm load/compute/store on REAL x86 silicon
(host has avx2), NO gcc/qemu/binutils. AUTHOR=ORGAN, no-false-green.
8x u32 lanes: vecA lane0=10, vecB lane0=32.
POS: vmovdqu ymm load x2; vpaddd ymm -> lane0=42; vmovdqu ymm store; reload -> exit(42).
NEG: + vpxor %ymm0,%ymm0,%ymm0 (self-xor zero) -> exit(0).
GREEN iff pos==42 AND neg==0 AND pos!=neg. Run-proves the 3-byte VEX encoder (x86_vex_rrr /
x86_vex_rm), ymm register parsing, and the 3-operand AT&T form -- the foundation every AVX2
capability (and, with EVEX, AVX-512) reuses. Appends knowledge/status/simd_vec_kat.log.
license_tier: ORIGINAL
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
| 14 | const ASM_TOOL: *u8 = "_offc/nxasm_x86_main.elf" |
| 15 | const SV_LOG: *u8 = "knowledge/status/simd_vec_kat.log" |
functions
| 17 | func gw(fd: i64, s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } sys_write(fd, s, n); return 0 } |
| 18 | func gwn(fd: i64, v: i64) -> i64 |
| 29 | func g_run(path: *u8, argv: *i64) -> i64 |
| 49 | func asm_and_run(spath: *u8, elfpath: *u8) -> i64 |
| 63 | func write_avx2_s(path: *u8, zero: i64) -> i64 |
| 89 | func g_emit(fd: i64, pos: i64, neg: i64, ok: i64) -> i64 |
| 97 | func main() -> i64 |