code wiki / _hdl_build / nx_simd_sse_kat_gate.nx
nx_simd_sse_kat_gate.nx
buildroot/runtime/_hdl_build/nx_simd_sse_kat_gate.nx
about
nx_simd_sse_kat_gate.nx -- SOVEREIGN 128-bit SSE2 vector run-KAT: the
FIRST rung of the sovereign VECTOR backend, proving xmm load/compute/store
on REAL x86 silicon (NO gcc / NO qemu / NO binutils). AUTHOR=ORGAN, no-false-green.
What it proves: the sovereign encoder+assembler now emit CORRECT 128-bit
vector MEMORY load/store (nxasm_x86_enc.x86_sse_mem + the nxasm_x86
movdqu/movdqa K_MEM dispatch). It ASSEMBLES two tiny programs with the
team's own _offc/nxasm_x86_main.elf and EXECUTES the resulting ELFs:
POS: movdqu-load vecA=[10,0,0,0] + vecB=[32,0,0,0] (4x u32 LE);
paddd -> lane0 = 42; movdqu-store; reload lane0 -> exit(42).
NEG: identical, then pxor %xmm0,%xmm0 (zero) -> store -> exit(0).
GREEN iff pos==42 AND neg==0 AND pos!=neg. Distinct pos/neg => the gate
reads the ACTUAL silicon-computed exit, never a baked constant. This run-
proves FOUR encoder forms end to end: movdqu-load(NEW) + movdqu-store(NEW)
+ paddd + pxor -- the latter two were only ever EMITTED (SHA-NI core), never
EXECUTED until now. Foundation for the 256-bit(VEX) / 512-bit(EVEX) rungs.
Writes 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
| 20 | const ASM_TOOL: *u8 = "_offc/nxasm_x86_main.elf" |
| 21 | const SV_LOG: *u8 = "knowledge/status/simd_vec_kat.log" |
functions
| 23 | 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 } |
| 24 | func gwn(fd: i64, v: i64) -> i64 |
| 38 | func g_run(path: *u8, argv: *i64) -> i64 |
| 61 | func asm_and_run(spath: *u8, elfpath: *u8) -> i64 |
| 77 | func write_kat_s(path: *u8, zero: i64) -> i64 |
| 103 | func g_emit(fd: i64, pos: i64, neg: i64, ok: i64) -> i64 |
| 111 | func main() -> i64 |